Go to file
Wilken Rivera ff2289a64e scripts/prepare_changelog: Update unescape parenthesis for improved matching
Before change
```
413e19b84 Merge pull request #8942 from desolatorxxl/google-fix-ssh-keys-metadata
b81800db2 Merge pull request #8935 from zaventh/feature/start-on-boot
94863168b Merge pull request #8922 from hashicorp/f-vsphere_iso-export-ovf-options
56aebbeda Merge pull request #8920 from rhencke/patch-1
d068430ab make sure locals are evaluated only once variables are + test this (#8918)
3dae5df6e Merge pull request #8905 from hashicorp/fix_8493
811a7304a Merge pull request #8907 from hashicorp/fix_8428
fa49d2145 Merge pull request #8906 from hashicorp/fix_8904
23f56036a Merge pull request #8889 from hashicorp/hcl2_singular_blocks
dc9259f73 Merge pull request #8892 from zaventh/feature/vga-adapter
fc35f0200 Merge pull request #8890 from hashicorp/fix_8880
7972ab723 Merge pull request #8735 from hashicorp/fix_plugin_loading
890d7b2ec Merge pull request #8875 from hashicorp/fix_8812
e94ff7019 Merge pull request #8883 from hashicorp/fix_8835
9075b807d Merge pull request #8891 from rhencke/patch-1
6477d8a0c Merge pull request #8882 from hashicorp/fix-var-file-hcl
6008f911f Merge pull request #8847 from takaishi/support-keyboard-interactive
56045619d Merge pull request #8877 from paulcichonski/remote-esxi-bastion
698f74478 Merge pull request #8887 from hashicorp/untangle_ssh_docs_from_aws
aeedc9af7 Merge pull request #8879 from mbrancato/specify_keyvault_sku
5365fda5f Merge pull request #8884 from hashicorp/fix_codecov_config
4bd7b1409 Merge pull request #8732 from jhawk28/reorder_cdrom_drive
072a71b41 Merge pull request #8863 from hashicorp/update_go-cty_regex
8a1caaa80 Merge pull request #8837 from hashicorp/fix_8730
7873cabf6 Merge pull request #8858 from hashicorp/fix_8791
7e382d0df Merge pull request #8828 from mvitaly/fix_8816
8832b3e2c Merge pull request #8787 from jhawk28/vsphere_iso_multiple_disks
528174027 Merge pull request #8831 from rjhornsby/master
e35a87241 Merge pull request #8830 from hashicorp/d-var-file-hcl2-not-yet
```

After change
```
⇶  git log v1.5.4...v1.5.5 --first-parent --oneline --grep="Merge pull request #[0-9]\+" --grep="(#[0-9]\+)$"
413e19b84 Merge pull request #8942 from desolatorxxl/google-fix-ssh-keys-metadata
c387dc2c5 builder/vsphere-clone: Find the vm within the folder (#8938)
b17b211aa Add cleanup_remote_cache config option to vmware-iso (#8917)
e6368b924 Fix azure winrm_password attribution and allow to set winrm_username (#8928)
fcf10e9b7 Replace Amazon with Outscale for OSC BSU doc (#8944)
9240fb7f0 Fix typo in title (#8943)
2c6f0968b Allow accepting image for the members in OpenStack builder (#8931)
b81800db2 Merge pull request #8935 from zaventh/feature/start-on-boot
daffd9c31 CONTRIBUTING: Update documentation for linting on Travis (#8933)
3a9d356c9 golangci-lint: Update --new-from-rev option to check only newly added commits (#8923)
97d797d2f Fix small typos in osc-bsuvolume.html.md (#8926)
94863168b Merge pull request #8922 from hashicorp/f-vsphere_iso-export-ovf-options
56aebbeda Merge pull request #8920 from rhencke/patch-1
99b0b9831 Add ovf export capability to vsphere builders (#8764)
d068430ab make sure locals are evaluated only once variables are + test this (#8918)
ad8dafa3b HCL: add tests and fixes around var-file and var args  (#8914)
7979ab054 Add after_n_builds to codecov.yml (#8913)
3dae5df6e Merge pull request #8905 from hashicorp/fix_8493
811a7304a Merge pull request #8907 from hashicorp/fix_8428
fa49d2145 Merge pull request #8906 from hashicorp/fix_8904
b94937c05 Update provisioner_test.go (#8900)
2319521aa Add iso config test for checksum from file specific case (#8897)
23f56036a Merge pull request #8889 from hashicorp/hcl2_singular_blocks
dc9259f73 Merge pull request #8892 from zaventh/feature/vga-adapter
690bf714c Add Codecov badge and remove report style (#8896)
fc35f0200 Merge pull request #8890 from hashicorp/fix_8880
7972ab723 Merge pull request #8735 from hashicorp/fix_plugin_loading
890d7b2ec Merge pull request #8875 from hashicorp/fix_8812
e94ff7019 Merge pull request #8883 from hashicorp/fix_8835
```
2020-03-27 07:19:49 -04:00
.circleci Add Codecov configuration (#8862) 2020-03-12 10:36:10 +01:00
.github CONTRIBUTING: Update documentation for linting on Travis (#8933) 2020-03-23 10:46:03 +01:00
builder Merge pull request #8942 from desolatorxxl/google-fix-ssh-keys-metadata 2020-03-24 14:49:31 -04:00
cmd better type for []NameValue in docs 2020-03-17 15:02:04 +01:00
command make sure locals are evaluated only once variables are + test this (#8918) 2020-03-19 15:30:34 +01:00
common remove docs about windows symlinks which are now inaccurage 2020-03-26 15:51:51 -07:00
communicator write unit test 2020-03-13 14:01:11 +09:00
contrib Fix zsh auto-completion 2019-09-26 12:13:02 +01:00
examples update bucket about no create 2019-10-29 16:11:43 -07:00
fix Fix gosimple S1005 linting issue (#8870) 2020-03-11 10:30:08 +01:00
hcl2template make sure locals are evaluated only once variables are + test this (#8918) 2020-03-19 15:30:34 +01:00
helper Merge branch 'master' into hcl2_singular_blocks 2020-03-17 14:47:17 +01:00
packer Merge pull request #8875 from hashicorp/fix_8812 2020-03-13 12:52:17 -07:00
plugin/example Add golangci-lint to project (#8686) 2020-02-14 11:42:29 -05:00
post-processor Update post-processor.go 2020-03-17 16:37:16 +01:00
provisioner Update provisioner_test.go (#8900) 2020-03-18 11:51:54 +01:00
scripts scripts/prepare_changelog: Update unescape parenthesis for improved matching 2020-03-27 07:19:49 -04:00
template execute_command in powershell wasn't interpolating build vars properly (#8771) 2020-03-02 04:20:32 -05:00
test Move shell prov acc test to the same folder 2020-03-13 17:10:51 +01:00
vendor Add ovf export capability to vsphere builders (#8764) 2020-03-19 13:51:43 -04:00
version update to v1.5.6-dev 2020-03-25 16:04:05 -07:00
website remove docs about windows symlinks which are now inaccurage 2020-03-26 15:51:51 -07:00
.codecov.yml Add after_n_builds to codecov.yml (#8913) 2020-03-19 13:18:03 +01:00
.gitattributes add go mod and go sum to gitattributes to fix line endings on windows (#8734) 2020-02-14 11:20:36 +01:00
.gitignore scrape builder docs from https://www.packer.io/docs/ 2019-06-05 16:41:20 +02:00
.golangci.yml Add golangci-lint to project (#8686) 2020-02-14 11:42:29 -05:00
.hashibot.hcl Update .hashibot.hcl 2020-01-22 17:15:34 +01:00
CHANGELOG.md update changelog 2020-03-25 16:02:40 -07:00
CODEOWNERS add @alexyueer to codeowners for alicloud 2020-01-07 12:48:38 -08:00
Dockerfile dockerfile: add minimal image with provisioners support 2018-10-31 16:58:06 +03:00
LICENSE LICENSE: MPL2 2013-06-24 14:29:15 -07:00
Makefile golangci-lint: Update --new-from-rev option to check only newly added commits (#8923) 2020-03-20 14:28:48 -04:00
README.md Add Codecov badge and remove report style (#8896) 2020-03-16 15:59:55 +01:00
Vagrantfile vagrantfile: add support for docker provider 2018-10-31 16:58:06 +03:00
appveyor.yml Update appveyor.yml 2019-06-06 18:35:20 +02:00
background_check.go surface notimplemented errs too 2019-09-19 08:57:50 -07:00
background_check_openbsd.go copypasta 2019-09-18 10:54:35 -07:00
checkpoint.go move packer to hashicorp 2017-04-04 13:39:01 -07:00
commands.go implement a packer console analogous to the terraform console 2019-06-05 16:35:22 -07:00
config.go make period stripping more strict so that users can disable provisiners by adding .old or whatever; this is pretty typical convention. 2020-02-13 12:59:47 -08:00
config_test.go Merge pull request #8616 from hashicorp/packer-plugin-path 2020-01-28 12:09:55 -08:00
go.mod Add iso config test for checksum from file specific case (#8897) 2020-03-18 11:32:51 +01:00
go.sum Add iso config test for checksum from file specific case (#8897) 2020-03-18 11:32:51 +01:00
log.go log errors in scanner and manually close logging pipe if we hit an error in the scanner 2019-11-11 09:20:39 -08:00
main.go config: Fix loading external plugins from a packerconfig 2020-01-15 13:08:30 -05:00
main_test.go move packer to hashicorp 2017-04-04 13:39:01 -07:00
panic.go Add telemetry reporting through checkpoint 2017-06-15 13:21:11 -07:00
tty.go allow building packer on solaris by removing progress bar and tty imports 2019-05-07 15:58:49 +02:00
tty_solaris.go allow building packer on solaris by removing progress bar and tty imports 2019-05-07 15:58:49 +02:00

README.md

Packer

Build Status Windows Build Status GoDoc GoReportCard codecov

Packer is a tool for building identical machine images for multiple platforms from a single source configuration.

Packer is lightweight, runs on every major operating system, and is highly performant, creating machine images for multiple platforms in parallel. Packer comes out of the box with support for many platforms, the full list of which can be found at https://www.packer.io/docs/builders/index.html.

Support for other platforms can be added via plugins.

The images that Packer creates can easily be turned into Vagrant boxes.

Quick Start

Note: There is a great introduction and getting started guide for those with a bit more patience. Otherwise, the quick start below will get you up and running quickly, at the sacrifice of not explaining some key points.

First, download a pre-built Packer binary for your operating system or compile Packer yourself.

After Packer is installed, create your first template, which tells Packer what platforms to build images for and how you want to build them. In our case, we'll create a simple AMI that has Redis pre-installed. Save this file as quick-start.json. Export your AWS credentials as the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables.

{
  "variables": {
    "access_key": "{{env `AWS_ACCESS_KEY_ID`}}",
    "secret_key": "{{env `AWS_SECRET_ACCESS_KEY`}}"
  },
  "builders": [{
    "type": "amazon-ebs",
    "access_key": "{{user `access_key`}}",
    "secret_key": "{{user `secret_key`}}",
    "region": "us-east-1",
    "source_ami": "ami-af22d9b9",
    "instance_type": "t2.micro",
    "ssh_username": "ubuntu",
    "ami_name": "packer-example {{timestamp}}"
  }]
}

Next, tell Packer to build the image:

$ packer build quick-start.json
...

Packer will build an AMI according to the "quick-start" template. The AMI will be available in your AWS account. To delete the AMI, you must manually delete it using the AWS console. Packer builds your images, it does not manage their lifecycle. Where they go, how they're run, etc., is up to you.

Documentation

Comprehensive documentation is viewable on the Packer website:

https://www.packer.io/docs

Developing Packer

See CONTRIBUTING.md for best practices and instructions on setting up your development environment to work on Packer.