Applications functionality has been deprecated and service will be terminated on March 7th, 2017. Please see the alternatives for more information. To learn about migrating this functionality to Packer, contact us.

Uploading Applications to Atlas

There are currently three ways to upload applications to Atlas. We recommend using the GitHub integration to allow transparency on a per-commit basis of what was changed, but both Vagrant Push and the atlas-upload-cli will work for storing versions of the application.

GitHub Webhooks

After you have connected your GitHub account to Atlas, you can visit the integrations tab of your application and enter the username and name of the application's GitHub repository. The GitHub repository will be linked to the Atlas application, and GitHub will start sending webhooks to Atlas. Certain GitHub webhook events, detailed below, will cause the repository to be automatically ingressed into Atlas and stored, along with references to the GitHub commits and authorship information.

After each ingress the application version will automatically compile. If automatic builds are enabled, successful compiles will also trigger a machine image build and optionally a deploy with Terraform with the built artifact, i.e AMIs.

You can disable an ingress by adding the text [atlas skip] or [ci skip] to your commit message.

Supported GitHub webhook events:

  • push (on by default)
    • ingress when a tag is created
    • ingress when the default branch is updated
    • note: the default branch is either configured on your application's integrations tab in Atlas, or if that is blank it is the GitHub repository's default branch
  • create (off by default)
    • ingress when a tag is created
    • note: if you want to only run on tag creation, turn on create events and turn off push events

Vagrant Push

Vagrant can be configured to push new versions of the application when a user runs vagrant push. To configure Vagrant push, place the following configuration in your Vagrantfile.

config.push.define "atlas" do |push|
  push.app = "acmeinc/webapp"
end

After running the vagrant push command, Vagrant will archive upload the relative directory to the application and queue a compile and potentially build.

Read more about Vagrant push in the Vagrant documentation.

Upload CLI

The atlas-upload-cli utility can be used to package a directory and send it to Atlas. This can be performed in a CI, on a developer machine or anywhere else the binary can run. It requires passing both the username/name for the application and the local path to upload.

atlas-upload acmeinc/webapp my-app/

For more info, see the GitHub repository.