General Deployment Guide

In this guide, we will have a look at how deploying can be done with any arbitrary commands.

This guide assumes that you are already a bit familiar with multi-environment builds and minimal nodes.

For most flexibility, we recommend to run deployments on a separate, minimal node. This can look as follows:

build:
  nodes:
    tests-1:
      # ...

    tests-2:
      # ...

    analysis:
      # ...

    deploy:
      requires:
        - node: tests-1   # tests-1 passed
        - node: tests-2   # tests-2 passed
        - analysis        # no failure conditions met
        - branch: master  # only for master branch

      commands:
        # Deploy by git push
        - checkout-code ~/code
        - cd ~/code
        - git push some-remote master

        # package code
        - checkout-code ~/code
        - (cd code && restore-from-cache execution assets)
        - tar -czf code.tar.gz code/
        - # move code.tar.gz somewhere

        # or any other commands...