Course description
This three-day, instructor-led, hands-on, technical class gives DevOps team members the ability to automate an entire end-to-end CI/CD pipeline. Primary tools used in class include Github, Chef, and Jenkins. You will also use ChefSpec, Inspec, Test Kitchen, Groovy, Maven, and JFrog Artifactory. This is a fast-paced, technical, lab-centric course, and you will leave with best practice experience in building a sample pipeline. If you do not meet the required experience for this course, you will have a hard time keeping up.
If desired, private clients can add a fourth day to include Docker, and the fifth day to include Terraform. Sections including those tools are delineated in the course outline with italic text. We also have the capacity to substitute Ansible for Chef in any version of the course.
Upcoming start dates
Training content
Course 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
Certification / Credits
In this Hands-On DevOps Training Course, You Will:
- Maintain code using Git and GitHub
- Create, test, and deploy Chef cookbooks through a Jenkins CI/CD pipeline
- Complete integration tests with Inspec and Test Kitchen
- Write CI/CD as code using Groovy Pipeline syntax in Jenkins
- Compile, test, package, and permanently store Java applications using Maven
- Store artifacts in JFrog Artifactory
Quick stats about Velocity Knowledge?
Customized training programs for every organization
Industry-proven instructors, consultants, and experts
Efficient learning methods for your unique business objectives
Contact this provider
Velocity Knowledge
Velocity Knowledge is an Enterprise Education Provider made up of qualified educational professionals who have survived the budget cuts, lived through the training wars, adjusted to industry changes, and learned what it is that customers are looking for. Velocity Knowledge...