This project is no longer actively maintained, please use the azure-arm builder in the official packer.io package.
Packer is an open source tool for creating identical machine images for multiple platforms from a single source configuration. This is an Azure plugin for Packer.io to enable Microsoft Azure users to build custom images given an Azure image.
You must have an Azure subscription to begin using Azure. You can build both Linux and Windows Azure images (targets) from both Windows and Linux dev-boxes (clients) with these plugins.
packer-azure utilizes Service Management REST API and Storage Services REST API and consists of two plug-ins: packer-builder-azure and packer-provisioner-azure-custom-script-extension (for Windows targets). For Linux targets use well known "shell" provisioner; More information about the custom script provisioner can be found at http://msdn.microsoft.com/en-us/library/dn781373.aspx To start using the plugin you will need to get PublishSetting profile for your azure subscriptions. Visit https://manage.windowsazure.com/publishsettings to download the publish profile for the currently logged in user.
You can download binaries from the releases for this project and drop them in your packer install directory or you can build the plugins from source (see below). Configuration examples can be found in the config_examples directory.
- Install Go 1.5.3 or newer. Go and packer-azure dependencies require git to be installed as well.
- Install packer
- Set the environment variable GO15VENDOREXPERIMENT to 1 when using Go 1.5.
- To build the plugins set the GOBIN environment variable to your packer install directory and run
go get github.com/Azure/packer-azure/packer/plugin/...
- github.com/Azure/azure-sdk-for-go
- github.com/Azure/go-autorest
- github.com/Azure/go-ntlmssp
- github.com/Azure/packer-azure
- github.com/mitchellh/go-homedir
- github.com/mitchellh/multistep
- github.com/mitchellh/packer
- github.com/pborman/uuid
- golang.org/x/crypto
Please see the ARM README for getting started with packer-azure for ARM.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.