- Getting Started
- Example deployment to Heroku
- Using pipelines
- Deploying with Snap
- How do I add SSH keys to my build?
- Scheduling and skipping builds
- Deleting or cancelling a build run
- Billing owner best practices
- Deployment Pipeline
- The CI Environment
- Snap CI's Stacks
- Simple Docker pipeline using Snap CI
- Building & propagating Docker images
- Deploying Docker images
- Docker FAQ
- Known Limitations
- Relational Databases
- NoSQL Datastores
- Testing with browsers
- Complete Package List
- Environment Variables
- Heroku Deployments
- Deploying to AWS
- Deploying to AWS OpsWorks
- Deploying to AWS S3
- Deploying to AWS ElasticBeanstalk
- Working with Branches
- Cloning a pipeline
- Integration pipelines
- Automatic branch tracking
- Pull Requests
- Configuring multiple workers
- Speeding up builds
- Setting up test parallelism
- Pipeline Parallelism
- Polling project status using CCTray
- Webhook notifications
- How Snap integrates with GitHub
- Revoking privileges granted to Snap CI
- Managing membership
- Triggering Pipelines and Stages
- Migration to GoCD
- Migration to other CI and CD tools
Snap provides two ways to deploy to Heroku, Basic and Custom. Before configuring either of them, you first need to set up Heroku credentials.
Setting up Heroku credentials
- This will create an access token on Heroku, allowing Snap to perform deployments to applications of your choice
- First, edit your build configuration, click on "Add Stage", select the deploy tab, and then choose a Heroku stage
We need you to provide us access to your apps in order to do the deploy. To do this, simply click on Heroku credentials missing.
You will be redirected to Heroku and after successful authentication your credentials will be available on Snap. Once credentials have been setup, you may reuse those credentials for other deployments.
This is the simplest and recommended form of deployment to Heroku.
If your Heroku deployment is just `git push heroku master' then this is the deployment you want to use.
If you are running a rails project, Snap will offer to run
heroku run rake db:migrate for you as well.
You can optionally setup Heroku config vars in Snap by adding them to your basic deployment.
Note: Heroku has indicated that their preferred method to deploy to Heroku is without an SSH key and using an HTTPS URL to authenticate directly with Heroku. You can read more about this authentication method at Heroku. Snap's basic Heroku deployment stage (described above) uses this authentication method, and we recommend you use this better-supported mechanism if at all possible.
If your Heroku deployment involves something more than
git push heroku master then you will need to use this method.
In this mode you are free to write any sequence of commands required to deploy your application.
You don't need to run
heroku login before running any heroku command since Snap will configure a
~/.netrc file with your credentials (as described here.
Here is an example in case you already have an application on Heroku and need to put it under maintenance mode:
Note: As of September 2016, Snap will no longer store a deploy key with your credentials. We recommend reviewing Heroku's documentation on ways to authenticate. In order to use SSH Git transport you will need to create SSH keys yourself following the Heroku documentation and upload them to Snap. Please contact us if you have any questions.