mirror of
https://github.com/hashicorp/packer.git
synced 2026-06-09 08:42:33 -04:00
76 lines
4.2 KiB
Text
76 lines
4.2 KiB
Text
---
|
|
description: |
|
|
The `packer build` command builds all of the artifacts defined in a template. Builds can run in parallel or sequentially.
|
|
page_title: packer build - Commands
|
|
---
|
|
|
|
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
|
|
> [!IMPORTANT]
|
|
> **Documentation Update:** Product documentation previously located in `/website` has moved to the [`hashicorp/web-unified-docs`](https://github.com/hashicorp/web-unified-docs) repository, where all product documentation is now centralized. Please make contributions directly to `web-unified-docs`, since changes to `/website` in this repository will not appear on developer.hashicorp.com.
|
|
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
|
|
|
|
# `packer build` command reference
|
|
|
|
<Note>
|
|
|
|
Starting August 1st, 2025, the source for many official HashiCorp-maintained Packer plugins is moving from GitHub releases to the official HashiCorp release site, [releases.hashicorp.com](https://releases.hashicorp.com). Refer to [Install HashiCorp-maintained plugins](/packer/docs/plugins/install#install-hashicorp-maintained-plugins) for more information.
|
|
|
|
</Note>
|
|
|
|
The `packer build` command takes a template and runs all the builds within it
|
|
in order to generate a set of artifacts. The various builds specified within a
|
|
template are executed in parallel, unless otherwise specified. And the
|
|
artifacts that are created will be outputted at the end of the build.
|
|
|
|
## Options
|
|
|
|
- `-color=false` - Disables colorized output. Enabled by default.
|
|
|
|
- `-debug` - Disables parallelization and enables debug mode. Debug mode
|
|
flags the builders that they should output debugging information. The exact
|
|
behavior of debug mode is left to the builder. In general, builders usually
|
|
will stop between each step, waiting for keyboard input before continuing.
|
|
This will allow the user to inspect state and so on.
|
|
|
|
`@include 'commands/except.mdx'`
|
|
|
|
- `-force` - Forces a builder to run when artifacts from a previous build
|
|
prevent a build from running. The exact behavior of a forced build is left
|
|
to the builder. In general, a builder supporting the forced build will
|
|
remove the artifacts from the previous build. This will allow the user to
|
|
repeat a build without having to manually clean these artifacts beforehand.
|
|
|
|
- `-on-error=cleanup` (default), `-on-error=abort`, `-on-error=ask`, `-on-error=run-cleanup-provisioner` -
|
|
Selects what to do when the build fails during provisioning. Please note that
|
|
this only affects the build during the provisioner run, not during the
|
|
post-processor run, because it is related to whether or not to keep the
|
|
instance running and related artifacts like generated SSH keys on the system
|
|
when a provisioner fails.
|
|
|
|
- `cleanup` cleans up after the previous steps, deleting temporary files and virtual machines.
|
|
- `abort` exits without any cleanup, which might require the next build to use `-force`.
|
|
- `ask` presents a prompt and waits for you to decide to clean up, abort, or retry
|
|
the failed step.
|
|
- `run-cleanup-provisioner` aborts and exits without any cleanup besides
|
|
the [error-cleanup-provisioner](/packer/docs/templates/legacy_json_templates/provisioners#on-error-provisioner) if one is defined.
|
|
|
|
`@include 'commands/only.mdx'`
|
|
|
|
- `-parallel-builds=N` - Limit the number of builds to run in parallel, 0
|
|
means no limit (defaults to 0).
|
|
|
|
- `-timestamp-ui` - Enable prefixing of each ui output with an RFC3339
|
|
timestamp.
|
|
|
|
- `-var` - Set a variable in your Packer template. This option can be used
|
|
multiple times. This is useful for setting version numbers for your build.
|
|
|
|
- `-var-file` - Set template variables from a file.
|
|
|
|
- `-warn-on-undeclared-var` - Setting this flag will yield a warning for each assignment within
|
|
a variable definitions file (*.pkrvars.hcl | *.pkrvars.json) that does not have an accompanying
|
|
variable block. This can occur when using a var-file that contains a large amount of unused variables
|
|
for a given HCL2 template. For HCL2 template builds defining a value for a variable in a var-file is
|
|
not enough on its own for Packer to function, as there also needs to be a variable block definition in
|
|
the template files `pkr.hcl` for the variable. By default `packer build` will not warn when a var-file
|
|
contains one or more undeclared variables.
|