Continuous Deployment Options
Semaphore lets you continuously deploy your applications and services when all automated tests pass. This way, developers only need to push new code to a Git repository in order for Semaphore to run all tests and deploy a new version.
To accomplish this is very easy. You only need to set up a target server, an entity which encapsulates deployment settings and history on Semaphore. The server can be linked to a particular branch, and it will trigger deployment after every successful build on that branch.
Note: It is also possible to set up a deployment server without continuous deployment and perform manual, one-click deployment from any branch.
Servers, which can be accessed from project pages, display a detailed deploy history in a form similar to a changelog. This way, your team can keep track of who delivered what and when.
In addition, each deploy can trigger a notification in your favorite group chat channel.
Both automatic and manual deployment workflows are a significant improvement over launching deploys from individual developers' local machines and ad-hoc communication. They also empower new team members to deploy their first contributions on their first day at the job quickly and without friction.
Guides to help you set up deployment
The following guides show you how to set up deployment to one of the cloud platforms and tools Semaphore integrates with. If your service is not listed, or you have custom scripts and infrastructure, we recommend going with the Generic deployment method.
- Deploying to Heroku
- Deploying via Cloud 66
- Deploying with Capistrano
- Deploying to AWS Elastic Beanstalk
- Deploying to Amazon S3
- Deploying to AWS Lambda
- Deploying with git-deploy
- FTP deployment
See also our guides to setting up continuous integration and deployment with Docker.
We also very much welcome any feedback you may have, as well as suggestions which deployment integrations you would like to see next.