Skip to main content

Deployments

One of the Soil design principles is to make deployments easy and scalable. The same code should run in many deployments at the same time. Each deployment can have a different configuration. The configuration in a Soil app is located in soil.yml and the config folder.

Autodeployment of a Soil Application

The code for an application should be only in one repository. The config folder and soil.yml files in it will only be used for local development.

Add the following .gitlab-ci.yml

include:
- project: 'amalfianalytics/devops/ci-templates'
ref: master
file: /bundles/soil-app.yml

Every time you push to the following branches: master, release/demo, release/production you will deploy to the following environments dev, demo prod.

Creating a Soil Application Deployment

To create a new soil deplyoment create a new repo in the deployments group. Then add the soil.yml and config files and a .gitlab-ci.yml file with the following code:

stages:
- release

include:
- project: 'amalfianalytics/devops/ci-templates'
ref: master
file: /release/release-alpha-beta-production.yml

Then ask the systems admin for the "soil line" setup with one or more of the following environments: dev, demo, prod.

Every time you push to the following branches: master, release/demo, release/production you will deploy to the following environments dev, demo prod.