Generic 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 the available node types and minimal nodes in particular.

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
        - is_pull_request: false # only trigger for pushes (not pull-requests)

      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...