Course Catalog
Implementing a CI/CD Pipeline
Code: 61300
Duration: 3 Day
$2450 USD

OVERVIEW

Building, testing, and deploying code can be complex and time-consuming. This three-day, instructor-led, hands-on, technical class provides the solution of how to create an automated CI/CD pipeline that builds, tests, and deploys code every time a developer pushes a code change, ensuring only high-quality and approved code gets deployed.

Developers don’t use isolated software tools, so why learn tools in isolation? This course combines the most widely used enterprise technologies into single, integrated, end-to-end pipelines. We’ll teach you git from the ground up so you can securely push code to a remote repository such as Github or Bitbucket. Then we’ll teach you how to configure servers using Ansible from code stored in git. Next, we’ll integrate git and Ansible with Jenkins CI/CD to build, test, and deploy your code into Staging and Production environments, creating an automated end-to-end DevOps pipeline.

If desired, private clients can substitute Bitbucket for Github and/or Chef for Ansible. It is also possible to expand the class duration to include Terraform and/or Docker.

DELIVERY FORMAT

This course is available in the following formats:

Virtual Classroom

Duration: 3 Day
Classroom

Duration: 3 Day

CLASS SCHEDULE

Delivery Format: Virtual Classroom
Date: Apr 22 2024 - Apr 24 2024 | 10:00 - 18:00 EST
Location: Online
Course Length: 3 Day

$ 2450

Delivery Format: Virtual Classroom
Date: May 20 2024 - May 22 2024 | 08:30 - 16:30 EST
Location: Online
Course Length: 3 Day

$ 2450

Delivery Format: Virtual Classroom
Date: Jun 24 2024 - Jun 26 2024 | 10:00 - 18:00 EST
Location: Online
Course Length: 3 Day

$ 2450

Delivery Format: Virtual Classroom
Date: Jul 29 2024 - Jul 31 2024 | 09:00 - 17:00 EST
Location: Online
Course Length: 3 Day

$ 2450

Delivery Format: Virtual Classroom
Date: Aug 21 2024 - Aug 23 2024 | 12:00 - 20:00 EST
Location: Online
Course Length: 3 Day

$ 2450

Delivery Format: Virtual Classroom
Date: Sep 18 2024 - Sep 20 2024 | 09:00 - 17:00 EST
Location: Online
Course Length: 3 Day

$ 2450

Delivery Format: Virtual Classroom
Date: Oct 21 2024 - Oct 23 2024 | 10:00 - 18:00 EST
Location: Online
Course Length: 3 Day

$ 2450

Delivery Format: Virtual Classroom
Date: Nov 13 2024 - Nov 15 2024 | 09:00 - 17:00 EST
Location: Online
Course Length: 3 Day

$ 2450

GOALS

In this Implementing a CI/CD Pipeline Course, you will:

  • Maintain code using Git and GitHub
  • Create, test, and deploy Ansible playbooks through a Jenkins CI/CD pipeline
  • Complete integration tests
  • Write CI/CD as code using Jenkins
  • Compile, test, package, and permanently store Java applications
  • Store artifacts
OUTLINE

Technology Overview

  • Terraform – Infrastructure control (optional with 5-day delivery)
  • Git - Source Control Management
  • Chef - Configuration Management
  • Inspec - Cookbook Testing
  • Jenkins - Continuous Integration
  • Docker – Containerization (optional for 4-day delivery)

Terraform – Infrastructure Automation (optional with 5-day delivery)

  • Terraform use and purpose
  • Getting started with Terraform
  • General concepts
  • Installation
  • Configuration Files
  • Provisioning and Building Infrastructure
  • Changing Infrastructure
  • Destroying Infrastructure
  • Resource Dependencies
  • Input Variables
  • Output Variables
  • Modules – Pre-defined Configurations
  • Remote state management
  • Terraform Enterprise
  • Triggering a Plan from Version Control
  • Workspaces
  • Terraform Enterprise Runs
  • Migration from Open Source to Enterprise
  • AWS
    • Managing infrastructure in AWS
    • Creating IAM Policies
    • Authenticating to AWS
    • Launching a serverless application - Lambda
  • Azure
    • Managing infrastructure in Azure
    • Authentication Methods for Azure
  • Git – Source Control Management
    • Purpose and overview of Git
    • Use cases for Git
    • Git workflow
    • Github, Bitbucket and other Git providers
    • Installation and configuration
    • Finding help on Git
    • Creating Local Git Repositories
    • Basic Git Commands
    • Comparing commits
    • Using a Remote Repository
    • Branching and Merging
    • Using SSH keys with Git private repositories
    • Chef – Configuration Management
    • Chef Architecture and call flow
    • Chef Use cases
    • Idempotence
    • Resources
    • Recipes
    • Cookbooks
    • Integration Testing and Test Kitchen
    • Chef Server – a central management repository
    • Ohai, Attributes and the Node Object
    • Chef Roles
  • Jenkins – Continuous Integration / Continuous Deployment
    • Jenkins Overview, Use Cases and History
    • Initializing a Jenkins server
    • Projects & Jobs
    • Freestyle versus Pipeline
    • Writing a Declarative Pipeline Project - CI/CD as Code
    • Distributing builds using Master and Agent Nodes
    • Views and Folders
    • Managing Credentials
    • Integrating with Git - Source Control Management
    • Triggers: Webhooks and Polling
    • Notifications: Slack and SMTP Email
    • Testing Chef Cookbooks with Test Kitchen in Jenkins
    • Multibranch Pipelines - Reading Entire Repositories
    • Using Maven to Compile, Test & Package Java Applications
    • Storing artifacts in JFrog Artifactory
    • Deploying Chef cookbooks with Jenkins
  • Docker – Containerization And Micro-Service (optional with 4-day delivery)
    • Container Use cases: what problems Docker solves
    • Docker Concepts and Components
    • Most-used Docker Commands
    • Storing Docker images
    • Docker Compose
    • Launching microservices using Docker
    • Building a Docker Image using Jenkins
    • Deploying a Docker container using Chef and Jenkins

Finally, we’ll create the end-to-end Pipeline using Git, Chef & Jenkins:

Three-day option:

  • Write Chef cookbooks with Inspec tests
  • Push the cookbooks to a branch within a Git repo
  • This push will automatically trigger Jenkins to download the cookbooks
  • Jenkins will then initiate testing the Chef cookbooks using Test Kitchen
  • If any tests fail, Jenkins notifies the developer to fix and repeat the build
  • Once all tests pass, Jenkins can require human approval. Once approved, Jenkins will upload the cookbooks to the Chef Server
  • Jenkins will then trigger Chef-managed webservers (in AWS) to download the cookbooks from the Chef Server and deploy the cookbook code
  • Jenkins will then send notifications over both Slack and email regarding any failures or the successful deployment of the cookbooks

Four-day option adds:

  • Upon successful testing in Test Kitchen, create and save a Docker image
  • Notify teams of successful deployment of Docker containers

Five-day option adds:

  • Write Inspec tests for Terraform configurations
  • Test our Terraform Configuration in Test Kitchen
  • Jenkins will use Terraform to launch Docker Hosts running Docker containers, as well as use Chef to configure those containers to run micro-services

Technology Overview

  • Terraform – Infrastructure control (optional with 5-day delivery)
  • Git - Source Control Management
  • Chef - Configuration Management
  • Inspec - Cookbook Testing
  • Jenkins - Continuous Integration
  • Docker – Containerization (optional for 4-day delivery)

Terraform – Infrastructure Automation (optional with 5-day delivery)

  • Terraform use and purpose
  • Getting started with Terraform
  • General concepts
  • Installation
  • Configuration Files
  • Provisioning and Building Infrastructure
  • Changing Infrastructure
  • Destroying Infrastructure
  • Resource Dependencies
  • Input Variables
  • Output Variables
  • Modules – Pre-defined Configurations
  • Remote state management
  • Terraform Enterprise
  • Triggering a Plan from Version Control
  • Workspaces
  • Terraform Enterprise Runs
  • Migration from Open Source to Enterprise
  • AWS
    • Managing infrastructure in AWS
    • Creating IAM Policies
    • Authenticating to AWS
    • Launching a serverless application - Lambda
  • Azure
    • Managing infrastructure in Azure
    • Authentication Methods for Azure
  • Git – Source Control Management
    • Purpose and overview of Git
    • Use cases for Git
    • Git workflow
    • Github, Bitbucket and other Git providers
    • Installation and configuration
    • Finding help on Git
    • Creating Local Git Repositories
    • Basic Git Commands
    • Comparing commits
    • Using a Remote Repository
    • Branching and Merging
    • Using SSH keys with Git private repositories
    • Chef – Configuration Management
    • Chef Architecture and call flow
    • Chef Use cases
    • Idempotence
    • Resources
    • Recipes
    • Cookbooks
    • Integration Testing and Test Kitchen
    • Chef Server – a central management repository
    • Ohai, Attributes and the Node Object
    • Chef Roles
  • Jenkins – Continuous Integration / Continuous Deployment
    • Jenkins Overview, Use Cases and History
    • Initializing a Jenkins server
    • Projects & Jobs
    • Freestyle versus Pipeline
    • Writing a Declarative Pipeline Project - CI/CD as Code
    • Distributing builds using Master and Agent Nodes
    • Views and Folders
    • Managing Credentials
    • Integrating with Git - Source Control Management
    • Triggers: Webhooks and Polling
    • Notifications: Slack and SMTP Email
    • Testing Chef Cookbooks with Test Kitchen in Jenkins
    • Multibranch Pipelines - Reading Entire Repositories
    • Using Maven to Compile, Test & Package Java Applications
    • Storing artifacts in JFrog Artifactory
    • Deploying Chef cookbooks with Jenkins
  • Docker – Containerization And Micro-Service (optional with 4-day delivery)
    • Container Use cases: what problems Docker solves
    • Docker Concepts and Components
    • Most-used Docker Commands
    • Storing Docker images
    • Docker Compose
    • Launching microservices using Docker
    • Building a Docker Image using Jenkins
    • Deploying a Docker container using Chef and Jenkins

Finally, we’ll create the end-to-end Pipeline using Git, Chef & Jenkins:

Three-day option:

  • Write Chef cookbooks with Inspec tests
  • Push the cookbooks to a branch within a Git repo
  • This push will automatically trigger Jenkins to download the cookbooks
  • Jenkins will then initiate testing the Chef cookbooks using Test Kitchen
  • If any tests fail, Jenkins notifies the developer to fix and repeat the build
  • Once all tests pass, Jenkins can require human approval. Once approved, Jenkins will upload the cookbooks to the Chef Server
  • Jenkins will then trigger Chef-managed webservers (in AWS) to download the cookbooks from the Chef Server and deploy the cookbook code
  • Jenkins will then send notifications over both Slack and email regarding any failures or the successful deployment of the cookbooks

Four-day option adds:

  • Upon successful testing in Test Kitchen, create and save a Docker image
  • Notify teams of successful deployment of Docker containers

Five-day option adds:

  • Write Inspec tests for Terraform configurations
  • Test our Terraform Configuration in Test Kitchen
  • Jenkins will use Terraform to launch Docker Hosts running Docker containers, as well as use Chef to configure those containers to run micro-services
LABS

Will Be Updated Soon!
Will Be Updated Soon!
WHO SHOULD ATTEND
  • DevOps Engineers
  • System Operations
  • Code Developers
  • Software Developers
  • Quality Assurance Professionals
  • Software Testers
  • Product Owners
  • Infrastructure Engineers
  • Development Team Members
  • Operations Team Members
  • Project Managers
  • Technical Product Managers
PREREQUISITES

  • Understand the purpose of infrastructure servers
  • Familiar with scripting of any kind
  • Experience working at the command line of Unix, Linux, or PowerShell
  • Experience with a text editor of any kind