packer-cn/website/source/docs/command-line/push.html.markdown

70 lines
2.7 KiB
Markdown
Raw Normal View History

2014-12-09 17:55:17 -05:00
---
2015-07-22 22:31:00 -04:00
description: |
2015-07-24 17:54:46 -04:00
The `packer push` command uploads a template and other required files to the
Atlas build service, which will run your packer build for you.
2015-07-22 22:31:00 -04:00
layout: docs
page_title: 'Push - Command-Line'
...
2014-12-09 17:55:17 -05:00
2015-01-22 21:48:02 -05:00
# Command-Line: Push
2014-12-09 17:55:17 -05:00
2015-07-24 17:54:46 -04:00
The `packer push` command uploads a template and other required files to the
Atlas service, which will run your packer build for you. [Learn more about
Packer in Atlas.](https://atlas.hashicorp.com/help/packer/features)
2014-12-09 17:55:17 -05:00
2015-07-24 17:54:46 -04:00
Running builds remotely makes it easier to iterate on packer builds that are not
supported on your operating system, for example, building docker or QEMU while
developing on Mac or Windows. Also, the hard work of building VMs is offloaded
to dedicated servers with more CPU, memory, and network resources.
2014-12-09 17:55:17 -05:00
2015-07-24 17:54:46 -04:00
When you use push to run a build in Atlas, you may also want to store your build
artifacts in Atlas. In order to do that you will also need to configure the
[Atlas post-processor](/docs/post-processors/atlas.html). This is optional, and
both the post-processor and push commands can be used independently.
2015-07-24 17:54:46 -04:00
!> The push command uploads your template and other files, like provisioning
scripts, to Atlas. Take care not to upload files that you don't intend to, like
secrets or large binaries. **If you have secrets in your Packer template, you
should [move them into environment
variables](https://packer.io/docs/templates/user-variables.html).**
2015-07-24 17:54:46 -04:00
Most push behavior is [configured in your packer
template](/docs/templates/push.html). You can override or supplement your
configuration using the options below.
2014-12-09 17:55:17 -05:00
## Options
2015-07-22 23:25:58 -04:00
- `-message` - A message to identify the purpose or changes in this Packer
template much like a VCS commit message. This message will be passed to the
Packer build service. This option is also available as a short option `-m`.
- `-token` - Your access token for the Atlas API.
2015-07-24 17:54:46 -04:00
-> Login to Atlas to [generate an Atlas
Token](https://atlas.hashicorp.com/settings/tokens). The most convenient way to
configure your token is to set it to the `ATLAS_TOKEN` environment variable, but
you can also use `-token` on the command line.
2015-07-22 23:25:58 -04:00
- `-name` - The name of the build in the service. This typically looks like
2015-07-24 17:54:46 -04:00
`hashicorp/precise64`, which follows the form `<username>/<buildname>`. This
must be specified here or in your template.
2015-07-24 17:54:46 -04:00
- `-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.
## Examples
Push a Packer template:
2015-07-22 22:31:00 -04:00
``` {.shell}
$ packer push -m "Updating the apache version" template.json
```
Push a Packer template with a custom token:
2014-12-09 17:55:17 -05:00
2015-07-22 22:31:00 -04:00
``` {.shell}
$ packer push -token ABCD1234 template.json
```