Azure DevOps CI/CD: Git-Chef-AzurePipelines

Azure DevOps CI/CD: Git-Chef-AzurePipelines


From Introduction to Technical Deep Dive:
Git(AzureRepos/Github/Bitbucket), 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 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 (using Github, Bitbucket or AzureRepos). 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 Git, Chef & Azure Pipelines
  • Maintain code using git and either Github, Bitbucket or AzureRepos
  • 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.

Topics covered:


  1. Course Introduction
    • Git-Chef-AzurePipelines: A DevOps Pipeline
    • Course Purpose
    • Agenda
    • Introductions
    • Lab Environments

  2. Technology Overview
    • Git - Source Control Management
    • Chef - Configuration Management
    • Cookstyle and Inspec - Cookbook Linting and Testing
    • Azure Pipelines - Continuous Integration
    • An End-To-End CI/CD Pipeline

  3. git
    • git Purpose and Use Cases
    • git Configuration
    • Getting Help with git
    • git Workflow
    • Quick look at Github/Bitbucket/AzureRepos (your choice)
    • 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

  4. 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

  5. Azure Pipelines
    • Purpose
    • 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 (Github/Bitbucket/AzureRepos)
    • 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

  6. 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 a remote git repo
    • Upon receiving the cookbook, git 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


Workstation Requirements

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+

Windows 7+

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 virtual machines, on ports 22, 80, 3389, 5985, 5986
  • Access to*
  • Access to * 
  • Access to or if you choose either of those git platforms


Student Requirements:

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




4 Days

Upcoming Classes

No classes have been scheduled, but you can always Request a Quote.

Onsite Training

For groups of three or more

Request Quote

Public Training

Customer Comments

I will recommend this class to my organization as one of the more complete solutions to on boarding new Chef users.

- The MITRE Corporation

this is a great class, with great content and mentor

- Softtek

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.

- BlackBerry Limited

Even though I've been using Chef for three years, I found this class immensely useful; not only did it allow me to examine and compare my current practices to those presented in the training, but I learned several new techniques for using Chef tools.

- Texas Comptroller of Public Accounts

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!

- CVSHealth

This was the best course I've ever taken. The instructor was just GREAT!


Class was excellent, and the Instructor was even better! Robin Beck is the best!


Excellent information presented by an experienced practitioner and an excellent presenter.

- Telmate