Build Automation with HashiCorp Packer Online Course
This course covers HashiCorp Packer, an open-source tool for creating identical machine images across multiple platforms from a single configuration. Starting with Packer’s purpose and use cases, you’ll learn to write HCL2 templates, work with builders, variables, provisioners, post-processors, and organize code effectively. The course also covers integrating Packer with automation pipelines, secret management, Terraform, Vault, and GitLab CI/CD. You’ll build images for public clouds and VMware, gaining the skills to independently automate machine image creation across platforms for streamlined infrastructure management.
Who should take this Course?
The Build Automation with HashiCorp Packer Online Course is ideal for DevOps engineers, cloud administrators, and IT automation professionals who want to learn how to create automated, consistent, and reusable machine images for multiple platforms. It’s also suitable for those seeking to integrate Packer into CI/CD pipelines and improve infrastructure deployment efficiency. Basic knowledge of virtualization, cloud environments, and configuration management tools is recommended for optimal learning.
What you will learn
- Understand the core components and functions of HashiCorp Packer
- Learn to automate the creation of machine images
- Create real-world solutions with HashiCorp Packer using HCL2
- Gain hands-on experience with Packer with demonstration labs
- integrate Packer with Terraform, HashiCorp Vault, and GitLab CI/CD
- Write Packer templates using HCL2 (the new standard for Packer 1.7+)
Course Outline
Course Introduction
Introduction to HashiCorp Packer
- Introduction to Packer - Section Overview
- Why Use Packer?
- Hello, Packer!
- Core Components of Packer
- Installing Packer
- Demo - Installing Packer
- The Packer Command Line
- Hands-On Lab - The Packer Command Line
- The Packer Workflow
- Demo - The Packer Workflow
- Introduction to Packer - Section Recap
- Installing Packer on Windows
- Installing Packer on Mac
Writing Packer Templates
- Writing Packer Templates
- HCL Syntax
- Hands-On Lab - Converting JSON Templates to HCL
- Working with Packer's Core Components in HCL
- Hands-On Lab - Writing Packer Templates
Builders
- Introduction to Builders
- Demo - Building AWS AMIs with Packer
- AWS Builders
- Demo - Building Azure Machine Images with Packer
- Demo - Building Google Compute Machine Images with Packer
- Demo - Building VMware Templates with Packer
- Hands-On Lab - Building Images in Multiple Regions
- Hands-On Lab - Building Images for Different Operating Systems
- Hands-On Lab - Building Images in Multiple Clouds
- Demo - Target Clouds and Build Types Using Packer
Variables
- Introduction to Variables
- Declaring Packer Variables
- Using Variables in Packer Templates
- Using Environment Variables
- Hands-On Lab - Packer Variables
Provisioners
- Introduction to Provisioners
- Examples of Different Provisioners
- Useful Features of Provisioners
- Hands-On Lab - Provisioners
Post-Processors
- Introduction to Post-Processors
- Examples of Post-Processors
- Hands-On Lab - Post-Processors
Code Organization
- Code Organization
- Hands-On Lab - Code Organization
- Hands-On Lab - Targeting Cloud Builds
- Hands-On Lab - Convert JSON to HCL
Troubleshooting Your Packer Builds
- Hands-On Lab - Packer Debug
- Hands-On Lab - Packer Breakpoints
Packer Integrations
- Hands-On Lab - Integrating Packer with Red Hat Ansible
- Hands-On Lab - Integrating Packer with HashiCorp Terraform
- Demo - Integrating Packer with HashiCorp Vault's KV v2 Secrets Engine
- Demo - Integrating Packer with HashiCorp Vault Using the AWS Secrets Engine
- Demo - Integrating Packer with GitLab CI/CD