DevOps CI/CD Pipeline (CCI)

Course Description

Building, testing and deploying code doesn’t have to be complex and time-consuming. This course will teach students how to create and use an end-to-end CI/CD pipeline that validates, automates, and stores code changes for faster, more secure delivery. In this course, attendees will learn the software and processes for building, testing, and deploying code. Upon completion of this course, attendees will know how to operate and maintain a DevOps pipeline that ensures only high-quality and approved code gets deployed into production, backs up all code in source control management, and automates code changes.

Choose the exact toolchain you want below and generate a course outline, or choose the ‘generic’ options for a tool-agnostic outline:

CircleCI DevOps CI/CD Pipeline

Course Duration 

Standard Duration is 3 to 5 days, depending on the options chosen.  Customization to the course agenda may increase the number of days needed for the course.

Course Agenda 

  • Git source and version control management. This course will teach you the fundamentals of using git so you can effectively share, collaborate, backup and version any code. 
  • Configuration management. We’ll teach you how to configure and spin up servers (web, database, load balancer, or any application servers), using a configuration management tool and code stored in git. 
  • Testing and continuous integration /  continuous deployment. Learn to integrate git and configuration management with a CI/CD tool to build, test, and deploy code into test, staging, and production environments, creating an automated end-to-end DevOps pipeline.

Course Duration as Configured: 3 Days

Git: Source Control Management: Github

  • Purpose and overview of Git
  • Use cases for Git
  • Git flow
  • Quick look at Github
  • Other Git providers
  • Git configuration
  • Finding help on Git
  • Creating Local Git Repositories
  • Basic Commands: add, commit, status, log
  • Comparing commits: git diff
  • Using a Repository: git push
  • Branches: creating, merging and deleting
  • Resolving merge conflicts
  • Managing Pull Requests
  • Using SSH keys with GitHub private repositories

Configuration Management: Ansible

  • Purpose and Use cases
  • Architecture and call flow
  • Installing and configuring Ansible
  • Modules & tasks
  • Deploying with Ansible playbooks
  • Roles and variables
  • Linting and Testing

Notifications: Slack

  • Integrating CI/CD with Slack
  • Using Slack for CI/CD approvals and notifications

Managed OS: Linux Only

  • Management of Linux Servers only

Continuous Integration / Continuous Delivery (CI/CD): CircleCI

  • CI/CD = Continuous Integration / Continuous Deployment
  • Purpose & history
  • CircleCI Architecture
  • SaaS versus On-Premise
  • Executors
  • Signing up for CircleCI SaaS
  • Organizations / Projects
  • Workflows / Jobs / Steps
  • Pipeline - CI/CD as Code
  • YAML Basics
  • Pipeline flows: job orchestration
  • Requiring human input and approval
  • Integrating with Source Control Management
  • Automated webhooks
  • Environment variables and Parameters
  • Managing credentials and secrets
  • CircleCI Artifacts
  • Implementing Executors: Docker Containers, Linux VM's, Windows VM's
  • Orbs: reducing complexity through reusable packages
  • Linting code using Orbs
  • Validating and Deploying Configuration Management code
  • Integration testing using CircleCI
  • Deploying Code to Production: Integrating with managed nodes
  • Notifications: Instant Messaging Integration using Orbs
  • Continuous deployment through CircleCI

Requirements:

  • Access to *.github.com/*
  • Access to *.ansible.com/*
  • Access to *.slack.com/*
  • Access to *.circleci.com/*

Course Availability: Contact for Availability