Deployment pipeline

Buddy lets you build a pipeline that will deploy your application to the selected server or cloud platform. The configuration is straightforward and takes only a couple of minutes.

First, you need to add a new project and synchronize it with your repository. You can select from GitHub, Bitbucket or GitLab, or hook up any custom Git repo: Creating a new projectCreating a new project

The next step is adding a pipeline and specifying which branch should be deployed and when. Each pipeline can be triggered in 3 different ways:

  • Manually – if you choose this option, the deployment will be made on demand by clicking the Run button in Buddy. This mode is most frequently used for deploying to production servers
  • On push – selecting this option will cause the pipeline to run whenever a commit is pushed to the chosen branch. For example, you can use it when you want to deploy changes to the development server after every push to the dev branch
  • Recurrently – this mode allows you to deploy changes to your server at a certain time of the day. For example, you can schedule that every afternoon the pipeline will deploy changes to the staging server on which integration tests will later run Adding a new pipelineAdding a new pipeline

A deployment pipeline is usually assigned to a specific branch. Here you can see 3 pipelines for different types of servers, each run in a different mode: Pipeline executionPipeline execution

Deployment actions

With the pipeline details configured, you can add actions to your pipeline to define the deployment process. For example, you can first upload the files to the server and then run an SSH action that will run database migrations and restart the application: Pipeline examplePipeline example

Buddy lets you test your application just before the deployment to ensure its flawless release to the server: File upload pipelineFile upload pipeline

The service covers all popular deployment protocols and destinations: from FTP/SFTP to Amazon, Google, Azure, to Kubernetes clusters and serverless deployments. It is very fast, too – most of the delivery actions are based on changesets, which means only changed files are deployed (there's no need to upload the whole repository on every execution).

If you didn't find an action that covers your deployment workflow, you can use a custom script and run it with the 'Custom build' action, or request a new integration at

Deployment rollback

If something goes wrong during the deployment or you accidentally deploy a wrong instance of your application, Buddy lets you easily restore the previous version on the server.

To do that, click Run and select the revision that you want to deploy. Buddy will automatically remove incorrect files from the server and re-upload the proper version of your app from the repository: Selecting a commitSelecting a commit

Another way is to go pipeline's execution history and click the last execution with the correct version – you will find the rollback option in the right menu: Revision rollbackRevision rollback

See also

Zero downtime deployment
Continuous Deployment pipeline
Continuous Delivery pipeline