Azure DevOps CI/CD: AzureRepos-Chef-AzurePipelines
From Introduction to Technical Deep Dive:
Git(AzureRepos), Chef, Code Testing, CI/CD(Azure Pipelines)
Microsoft Azure has created a fully integrated and very flexible tool called Azure DevOps, which includes a full git repo (Azure Repos) and a rebust CI/CD build and release pipeline tool (Azure Pipelines). This class assumes zero previous knowledge of git, Chef or CI/CD. We'll teach your DevOps teams how to use git from the ground up. Then we'll dive into Chef from the very beginning, to align your teams on how how to use Chef with Code Linting and Integration Testing. The Chef section will include git integration and will teach the latest best-practices from the Chef consulting team. We'll learn the foundations of Continuous Integration using Azure Pipelines, and we'll create a complete build and release pipeline. The final result will be a fully automated end-to-end scripted pipeline that integrates git, Chef and CI/CD to build, test and deploy your Chef cookbooks and your application code on Azure DevOps.
This instructor-led hands-on technical class will give DevOps Engineers, System Operations, and Code Developers the ability to:
- Automate an entire End-To-End CI/CD (Continuous Integration/Continuous Deployment) Pipeline using Azure Repos, Chef & Azure Pipelines
- Maintain code using git and Azure Repos
- Create and automate the deployment of Chef cookbooks through Azure Pipelines CI/CD
- Automate Code Linting with Cookstyle and Integration Testing with Inspec and Test Kitchen on Azure Pipelines
- Send notifications automatically to update your team about a pipeline's status via Instant Messaging
This three-day course costs $1,495 and is offered as a virtual online class. It is also available for private training classes either virtually or on-site.
- Course Introduction
- AzureRepos-Chef-AzurePipelines: A DevOps Pipeline
- Course Purpose
- Lab Environments
- Technology Overview
- Git/Azure Repos - Source Control Management
- Chef - Configuration Management
- Cookstyle and Inspec - Cookbook Linting and Testing
- Azure Pipelines - Continuous Integration
- An End-To-End CI/CD Pipeline
- git Purpose and Use Cases
- git Configuration
- Getting Help with git
- git Workflow
- Quick look at Azure Repos
- Other git providers
- Installation and configuration
- Finding help on git
- Creating Local git Repositories
- Basic Commands: add, commit, status, log
- Comparing commits: git diff
- Using a Repository: git push
- Branching and Merging: git branch, git checkout
- Using SSH keys with git private repositories
- Full git Workflow
- Introduction to Chef
- Resources, Recipes, Cookbooks & Chef Server
- Chef Policyfiles
- Chef Integration with Azure Repos
- Code Linting
- Integration Testing
- Purpose and overview
- Test Kitchen
- Create, Converge, Verify, Destroy, Test
- Managing the kitchen.yml file
- View available tests
- Writing integration tests for the Apache cookbook
- Attributes and Ohai: Customizing Cookbooks
- Chef Infra Server integration: Managing Nodes
- Bootstrapping Chef-managed nodes
- Azure Pipelines
- CI/CD = Continuous Integration / Continuous Deployment
- Projects and Jobs
- YAML scripting - CI/CD as Code
- Managing credentials and secret files
- Integrating with Source Control Management: Azure Repos
- Triggers: Scheduled Polling and Webhooks
- Automated cookbook linting: Foodcritic and Cookstyle
- Automated cookbook testing with Test Kitchen
- Notifications: Slack
- Requiring human input and approval
- Azure Pipelines Integration with Chef Server
- Continuous Deployment of Chef cookbooks with Azure PipelinesChef Policyfiles
- Finally, we’ll put everything together into a complete End-To-End Pipeline
- Write a Chef cookbook
- Write Inspec tests for our cookbook
- Push the cookbook to a branch within Azure Repos
- Upon receiving the cookbook, Azure Repos will automatically trigger Azure Pipelines to download the cookbook
- Azure Pipelines will automatically initiate testing the cookbook using Test Kitchen
- If anything fails, Azure Pipelines will send notifications to the class participant who wrote the code so it can be fixed and tested again
- Once everything passes all tests: Azure Pipelines will upload the cookbook to the Chef Server.
- Azure Pipelines will automatically trigger the Chef managed webservers, running on Linux nodes in Azure, to converge, download the cookbooks from the Chef Server and deploy the cookbooks
- Azure Pipelines will send notifications over Slack regarding failures or the successful deployment of the cookbook
For virtual classes, you should have a computer (on which you have root or Administrator access), a microphone, a headset and an external monitor.
For in-person classes, only a Wi-Fi enabled laptop (on which you have root or Administrator access) is needed.
The following operating systems have been tested as workstation systems with the hands on exercises:
Ubuntu 10.04, 12.04
Mac OS X 10.7.3+
Other platforms and platform versions may work without modification. Due to time constraints we will not be able to troubleshoot issues with unlisted platforms.
Attendees should install the following required software before the workshop starts and verify the required access:
- Access to portal.azure.com virtual machines, on ports 22, 80, 3389, 5985, 5986
- Access to dev.azure.com/*
- Access to *.chef.io/
You need familiarity and comfort with the following:
- Writing code (of just about any flavor) in a text editor
- Working on the command line
- Basic system administration – installing packages, configuring those packages, starting a service
This course is delivered virtually online and you can attend from any location on the planet with a solid internet connection.
For our Private classes (where an instructor teaches your group exlusively, with no one else in the class) contact us at email@example.com
The lab setups are excellent and allow the class to focus on the training objectives. It was a great way to get hands on experience with Compliance in one day.
It was great.
This was the best training class I've taken. It was online using Zoom, it was super easy to share code and collaborate. The instructor kept everything going at a perfect pace and his knowledge and expertise on the topic was evident. 22 years of training in my career and this was hands down the best class I've taken. Better than classroom training. Looking forward to more!
This was the best course I've ever taken. The instructor was just GREAT!
this is a great class, with great content and mentor
I was sad to have the training end! The personalized attention from the instructor was priceless. Chef made sense and I LOVED it! Every question and problem were solved and explained. Truly craft masters of Chef, take this and be ready to be amazed. I'm applying what I learned the next week after the course. Thank you CHEF!
I don't usually like online training, but this training was great and Eric is really good, well-organized, and in control. The way he engaged each participants is amazing, and how he troubleshoot issues.
Excellent information presented by an experienced practitioner and an excellent presenter.