Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
HashiCorp Packer in Production

You're reading from   HashiCorp Packer in Production Efficiently manage sets of images for your digital transformation or cloud adoption journey

Arrow left icon
Product type Paperback
Published in Jul 2023
Publisher Packt
ISBN-13 9781803246857
Length 190 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
John Boero John Boero
Author Profile Icon John Boero
John Boero
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Part 1: Packer’s Beginnings
2. Chapter 1: Packer Fundamentals FREE CHAPTER 3. Chapter 2: Creating Your First Template 4. Chapter 3: Configuring Builders and Sources 5. Chapter 4: The Power of Provisioners 6. Chapter 5: Logging and Troubleshooting 7. Part 2: Managing Large Environments
8. Chapter 6: Working with Builders 9. Chapter 7: Building an Image Hierarchy 10. Chapter 8: Scaling Large Builds 11. Part 3: Advanced Customized Packer
12. Chapter 9: Managing the Image Lifecycle 13. Chapter 10: Using HCP Packer 14. Chapter 11: Automating Packer Builds 15. Chapter 12: Developing Packer Plugins 16. Index 17. Other Books You May Enjoy

Injecting your config or artifacts

Provisioners can take various forms but are limited to the abilities of the communicator. Usually, you will want to upload something to each environment. Sometimes you may want certain provisioners to be included or excluded for certain images. For example, a PowerShell script that you want to run on Windows VMs may not apply to Linux VMs or other environments. There are optional qualifiers for provisioners that can help you with complex workflows. For example, build sources may be included or excluded for each provisioner. By default, a provisioner is applied to every build source. For example, here we use the only qualifier to apply a provisioner to one or more sources we specify:

provisioner "shell" {
  only = ["qemu.base", "otherbuilder.othersource"]

It’s also possible to override and customize the provisioner for certain sources, as in the following example. These special cases should be used...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime