packer 0,1,9,0,3,0,0,8 travis-ci vagrant

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

Star Fork Watch Issue Download
2 months after MPL-2.0
go get github.com/mitchellh/packer/packer
go get github.com/mitchellh/packer/packer/plugin
go get github.com/mitchellh/packer/common
go get github.com/mitchellh/packer/template/interpolate
go get github.com/mitchellh/packer
go get github.com/mitchellh/packer/helper/config
go get github.com/mitchellh/packer/communicator/ssh
go get github.com/mitchellh/packer/common/uuid
go get github.com/mitchellh/packer/common/json
go get github.com/mitchellh/packer/fix
go get github.com/mitchellh/packer/command
go get github.com/mitchellh/packer/helper/flag-slice
go get github.com/mitchellh/packer/helper/flag-kv
go get github.com/mitchellh/packer/template
go get github.com/mitchellh/packer/builder/docker
go get github.com/mitchellh/packer/post-processor/vagrant
go get github.com/mitchellh/packer/builder/amazon/ebs
go get github.com/mitchellh/packer/builder/amazon/instance
go get github.com/mitchellh/packer/packer/rpc
go get github.com/mitchellh/packer/post-processor/docker-import
go get github.com/mitchellh/packer/builder/amazon/chroot
go get github.com/mitchellh/packer/provisioner/puppet-server
go get github.com/mitchellh/packer/provisioner/chef-client
go get github.com/mitchellh/packer/provisioner/salt-masterless
go get github.com/mitchellh/packer/provisioner/chef-solo
go get github.com/mitchellh/packer/provisioner/puppet-masterless
go get github.com/mitchellh/packer/builder/googlecompute
go get github.com/mitchellh/packer/provisioner/powershell
go get github.com/mitchellh/packer/post-processor/vagrant-cloud
go get github.com/mitchellh/packer/provisioner/windows-shell
go get github.com/mitchellh/packer/builder/digitalocean
go get github.com/mitchellh/packer/builder/null
go get github.com/mitchellh/packer/builder/qemu
go get github.com/mitchellh/packer/provisioner/shell
go get github.com/mitchellh/packer/post-processor/docker-tag
go get github.com/mitchellh/packer/provisioner/ansible-local
go get github.com/mitchellh/packer/post-processor/vsphere
go get github.com/mitchellh/packer/builder/openstack
go get github.com/mitchellh/packer/builder/parallels/iso
go get github.com/mitchellh/packer/post-processor/docker-push
go get github.com/mitchellh/packer/builder/vmware/iso
go get github.com/mitchellh/packer/builder/parallels/pvm
go get github.com/mitchellh/packer/builder/virtualbox/ovf
go get github.com/mitchellh/packer/builder/vmware/vmx
go get github.com/mitchellh/packer/builder/virtualbox/iso
go get github.com/mitchellh/packer/helper/communicator
go get github.com/mitchellh/packer/post-processor/docker-save
go get github.com/mitchellh/packer/post-processor/compress
go get github.com/mitchellh/packer/post-processor/artifice
go get github.com/mitchellh/packer/provisioner/shell-local
go get github.com/mitchellh/packer/provisioner/windows-restart
go get github.com/mitchellh/packer/post-processor/atlas
go get github.com/mitchellh/packer/provisioner/file
go get github.com/mitchellh/packer/post-processor/shell-local
go get github.com/mitchellh/packer/provisioner/ansible
go get github.com/mitchellh/packer/builder/file
go get github.com/mitchellh/packer/post-processor/amazon-import
go get github.com/mitchellh/packer/builder/vmware/common
go get github.com/mitchellh/packer/builder/vmware/common
go get github.com/mitchellh/packer/version
go get github.com/mitchellh/packer/version
go get github.com/mitchellh/packer/builder/azure/arm
go get github.com/mitchellh/packer/builder/azure/arm
go get github.com/mitchellh/packer/common/ssh
go get github.com/mitchellh/packer/common/ssh
go get github.com/mitchellh/packer/post-processor/checksum
go get github.com/mitchellh/packer/post-processor/checksum
go get github.com/mitchellh/packer/builder/virtualbox/common
go get github.com/mitchellh/packer/provisioner
go get github.com/mitchellh/packer/post-processor/manifest
go get github.com/mitchellh/packer/builder/azure/pkcs12/rc2
go get github.com/mitchellh/packer/builder/azure/pkcs12
go get github.com/mitchellh/packer/post-processor/googlecompute-export
go get github.com/mitchellh/packer/builder/azure/common
go get github.com/mitchellh/packer/builder/amazon/common
go get github.com/mitchellh/packer/builder/azure/common/constants
go get github.com/mitchellh/packer/builder/parallels/common
go get github.com/mitchellh/packer/builder/azure/common/template
go get github.com/mitchellh/packer/communicator/none
go get github.com/mitchellh/packer/builder/azure/common/lin
go get github.com/mitchellh/packer/communicator/winrm
go get github.com/mitchellh/packer/builder/azure/common/logutil

Packer

Build Status Windows Build Status GoDoc GoReportCard

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 the following platforms:

  • Amazon EC2 (AMI). Both EBS-backed and instance-store AMIs
  • Azure
  • DigitalOcean
  • Docker
  • Google Compute Engine
  • OpenStack
  • Parallels
  • QEMU. Both KVM and Xen images.
  • VirtualBox
  • VMware

Support for other platforms can be added via plugins.

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

Quick Start

Download and install packages and dependencies

go get github.com/mitchellh/packer

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-de0d9eb7",
    "instance_type": "t1.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:

http://www.packer.io/docs

Developing Packer

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

Related Repositories

packer-windows-plugins

packer-windows-plugins

A suite of Packer plugins for provisioning Windows machines ...

packer-builder-xenserver

packer-builder-xenserver

A builder plugin for Packer.IO to support building XenServer images. ...

packer-config

packer-config

A Ruby way to generate packer.io configurations ...

packer-veos

packer-veos

Packer.io automation of the vEOS nodes ...

packer-php7-dev

packer-php7-dev

CentOS 7 Packer Vagrant Build for PHP7 Development ...


Top Contributors

mitchellh cbednarski rickard-von-essen rasa sethvargo markpeek pearkes catsby mwhooker boumenot vtolstov ceh legal90 tylert jasonberanek bhcleek jmassara erjohnso smerrill mmckeen dave2 captainill jvandyke henrysher qur msabramo imduffy15 grubernaut dragon788 higebu

Releases

-   v0.10.2 zip tar
-   v0.10.1 zip tar
-   v0.10.0 zip tar
-   v0.9.0 zip tar
-   v0.9.0-rc2 zip tar
-   v0.8.6 zip tar
-   v0.8.5 zip tar
-   v0.8.3 zip tar
-   v0.8.2 zip tar
-   v0.8.1 zip tar
-   v0.8.0 zip tar
-   v0.7.5 zip tar
-   v0.7.2 zip tar
-   v0.7.1 zip tar
-   v0.7.0 zip tar
-   v0.6.1 zip tar
-   v0.6.0 zip tar
-   v0.5.2 zip tar
-   v0.5.1 zip tar
-   v0.5.0 zip tar
-   v0.4.1 zip tar
-   v0.4.0 zip tar
-   v0.3.11 zip tar
-   v0.3.10 zip tar
-   v0.3.9 zip tar
-   v0.3.8 zip tar
-   v0.3.7 zip tar
-   v0.3.6 zip tar
-   v0.3.5 zip tar
-   v0.3.4 zip tar