mirror of
https://github.com/hashicorp/packer.git
synced 2026-09-19 22:41:40 -04:00
47 lines
2.1 KiB
Plaintext
47 lines
2.1 KiB
Plaintext
---
|
|
page_title: Packer use cases
|
|
description: |-
|
|
Learn about use cases for Packer, such as continuous delivery, dev/prod parity, and appliance and demo creation.
|
|
---
|
|
|
|
# Packer use cases
|
|
|
|
In this topic describes some of the use cases for Packer. This is a partial list of use cases intended to give you an idea of how Packer may improve your processes.
|
|
|
|
## Continuous delivery
|
|
|
|
Packer is lightweight, portable, and command-line driven. This makes it the
|
|
perfect tool to put in the middle of your continuous delivery pipeline. Packer
|
|
can be used to generate new machine images for multiple platforms on every
|
|
change to Chef/Puppet.
|
|
|
|
As part of this pipeline, the newly created images can then be launched and
|
|
tested, verifying the infrastructure changes work. If the tests pass, you can be
|
|
confident that the image will work when deployed. This brings a new level of
|
|
stability and testability to infrastructure changes.
|
|
|
|
## Environment parity
|
|
|
|
Packer helps keep development, staging, and production as similar as
|
|
possible. Refer to the following external article to learn more about parity between environments: ["X. Dev/prod parity"](http://www.12factor.net/dev-prod-parity).
|
|
|
|
You can use Packer to generate images for multiple platforms at the same time. So if you use AWS for production and VMware, perhaps with [Vagrant](https://www.vagrantup.com/), for
|
|
development, you can generate both an AMI and a VMware machine using Packer at
|
|
the same time from the same template.
|
|
|
|
Mix this in with the continuous delivery use case above, and you have a pretty
|
|
slick system for consistent work environments from development all the way
|
|
through to production.
|
|
|
|
## Appliance and demo creation
|
|
|
|
Because Packer creates consistent images for multiple platforms in parallel, it is
|
|
perfect for creating
|
|
[appliances](https://en.wikipedia.org/wiki/Software_appliance) and disposable
|
|
product demos. As your software changes, you can automatically create appliances
|
|
with the software pre-installed. Potential users can then get started with your
|
|
software by deploying it to the environment of their choice.
|
|
|
|
Packaging up software with complex requirements has never been so easy. Or
|
|
enjoyable, if you ask me.
|