github.com/amanya/packer@v0.12.1-0.20161117214323-902ac5ab2eb6/README.md (about)

     1  # Packer
     2  
     3  [![Build Status](https://travis-ci.org/mitchellh/packer.svg?branch=master)](https://travis-ci.org/mitchellh/packer)
     4  [![Windows Build Status](https://ci.appveyor.com/api/projects/status/github/mitchellh/packer?branch=master&svg=true)](https://ci.appveyor.com/project/hashicorp/packer)
     5  
     6  * Website: http://www.packer.io
     7  * IRC: `#packer-tool` on Freenode
     8  * Mailing list: [Google Groups](http://groups.google.com/group/packer-tool)
     9  
    10  Packer is a tool for building identical machine images for multiple platforms
    11  from a single source configuration.
    12  
    13  Packer is lightweight, runs on every major operating system, and is highly
    14  performant, creating machine images for multiple platforms in parallel. Packer
    15  comes out of the box with support for the following platforms:
    16  
    17  * Amazon EC2 (AMI). Both EBS-backed and instance-store AMIs
    18  * Azure
    19  * DigitalOcean
    20  * Docker
    21  * Google Compute Engine
    22  * OpenStack
    23  * Parallels
    24  * QEMU. Both KVM and Xen images.
    25  * VirtualBox
    26  * VMware
    27  
    28  Support for other platforms can be added via plugins.
    29  
    30  The images that Packer creates can easily be turned into
    31  [Vagrant](http://www.vagrantup.com) boxes.
    32  
    33  ## Quick Start
    34  
    35  **Note:** There is a great
    36  [introduction and getting started guide](http://www.packer.io/intro)
    37  for those with a bit more patience. Otherwise, the quick start below
    38  will get you up and running quickly, at the sacrifice of not explaining some
    39  key points.
    40  
    41  First, [download a pre-built Packer binary](http://www.packer.io/downloads.html)
    42  for your operating system or [compile Packer yourself](CONTRIBUTING.md#setting-up-go-to-work-on-packer).
    43  
    44  After Packer is installed, create your first template, which tells Packer
    45  what platforms to build images for and how you want to build them. In our
    46  case, we'll create a simple AMI that has Redis pre-installed. Save this
    47  file as `quick-start.json`. Export your AWS credentials as the
    48  `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables.
    49  
    50  ```json
    51  {
    52    "variables": {
    53      "access_key": "{{env `AWS_ACCESS_KEY_ID`}}",
    54      "secret_key": "{{env `AWS_SECRET_ACCESS_KEY`}}"
    55    },
    56    "builders": [{
    57      "type": "amazon-ebs",
    58      "access_key": "{{user `access_key`}}",
    59      "secret_key": "{{user `secret_key`}}",
    60      "region": "us-east-1",
    61      "source_ami": "ami-de0d9eb7",
    62      "instance_type": "t1.micro",
    63      "ssh_username": "ubuntu",
    64      "ami_name": "packer-example {{timestamp}}"
    65    }]
    66  }
    67  ```
    68  
    69  Next, tell Packer to build the image:
    70  
    71  ```
    72  $ packer build quick-start.json
    73  ...
    74  ```
    75  
    76  Packer will build an AMI according to the "quick-start" template. The AMI
    77  will be available in your AWS account. To delete the AMI, you must manually
    78  delete it using the [AWS console](https://console.aws.amazon.com/). Packer
    79  builds your images, it does not manage their lifecycle. Where they go, how
    80  they're run, etc. is up to you.
    81  
    82  ## Documentation
    83  
    84  Comprehensive documentation is viewable on the Packer website:
    85  
    86  http://www.packer.io/docs
    87  
    88  ## Developing Packer
    89  
    90  See [CONTRIBUTING.md](https://github.com/mitchellh/packer/blob/master/CONTRIBUTING.md) for best practices and instructions on setting up your development environment to work on Packer.