Deployer File

The instructions how to build project should be stored in project repository in a .deployer.yml file. This design choice allows configuration versioning and quick setup at the same time.

The deployer file has two main sections, the pipeline and jobs. Pipeline section should contain list of stages with information if certain stage should run automatically. Jobs section should contain list of jobs, containing list of commands required to complete each job.

Please note that Dick the Deployer Worker runs commands by bash inside docker container. Only containers with bash available will work.

image: debian:latest

variables: # list of environment variables injected to each command
  - key: VERSION
    value: 1.2.3
    
pipeline:
  stages:
  - name: first # name of stage
    autorun: true # if the stage should run automatically, default false
  - name: second
    autorun: true

jobs: 
  - stage: first # name of stage this job belongs to
    name: echo foo # name of this job
    requireRepository: true # if the job require sources from repository, default false
    deploy: # list of commands in this job
      - echo foo
  - stage: second
    name: echo bar
    deploy:
      - exit 1

Examples

Example .deployer.yml files are available in examples repository. Please check different branches for different configuration options.