Packer Concepts: Difference between revisions
(→Build) |
(→Build) |
||
Line 30: | Line 30: | ||
A build is a single task that eventually produces an image for a single platform. Multiple builds run in parallel. | A build is a single task that eventually produces an image for a single platform. Multiple builds run in parallel. | ||
=Post-Processor= | |||
Post-processors are components of Packer that take the result of a builder or another post-processor and process that to create a new artifact. Examples of post-processors are compress to compress artifacts, upload to upload artifacts, etc. | |||
=Command= | =Command= | ||
Commands are sub-commands for the Packer program that perform some job. An example command is "build", which is invoked as <code>packer build</code>. Packer ships with a set of commands out of the box in order to define its command-line interface. | Commands are sub-commands for the Packer program that perform some job. An example command is "build", which is invoked as <code>packer build</code>. Packer ships with a set of commands out of the box in order to define its command-line interface. |
Revision as of 01:04, 15 November 2019
External
Internal
Artifact
An artifact is the result of a single build, and it is usually a set of IDs or a file to represent a machine image. Every builder produces a single artifact. In the case of the Amazon EC2 builder, the artifact is a set of AMI IDs (one per region). For the VMware builder, the artifact is a directory of files comprising the created virtual machine.
Variable
Builder
A builder is a Packer component that is able to create a machine image for a single platform. The builder reads in configuration and uses that to run and generate a machine image. A builder is invoked as part of a build to create the actual resulting images. Builders can be created and added to Packer in the form of plugins. VirtualBox, VMware, and Amazon EC2 are builders. An example of AWS builder is amazon-ebs.
docker
AMI Builders
amazon-ebs
Provisioner
A provisioner is a builtin method or an executor of some third party software (shell script, ansible-local, file) that installs and configures the machine image after the image has booted. A provisioner prepares the system for use by:
- patching the kernel
- installing patches
- creating users
Build
A build is a single task that eventually produces an image for a single platform. Multiple builds run in parallel.
Post-Processor
Post-processors are components of Packer that take the result of a builder or another post-processor and process that to create a new artifact. Examples of post-processors are compress to compress artifacts, upload to upload artifacts, etc.
Command
Commands are sub-commands for the Packer program that perform some job. An example command is "build", which is invoked as packer build
. Packer ships with a set of commands out of the box in order to define its command-line interface.