Gitlab CI

We use Gitlab CI to build our containers, test it, and store them in the internal registry.

These images are then pulled into the production servers.

Configuration

All configuration is done inside .gitlab-ci.yml.

Pipelines

We have two pipelines configured: for master and other branches. That’s how it works: we only run testing for feature branches and do the whole building/testing/deploying process for the master branch.

This allows us to speed up development process.

Automatic dependencies update

You can use dependabot to enable automatic dependencies updates via Pull Requests to your repository. Similar to the original template repository: list of pull requests.

It is available to both Github and Gitlab. But, for Gitlab version you currently have to update your .gitlab-ci.yml.

Secret variables

If some real secret variables are required, then you can use gitlab secrets. And these kind of variables are required most of the time.

See Django on how to use dump-env and gitlab-ci together.

Documentation

After each deploy from master branch this documentation compiles into nice looking html page. See gitlab pages info.

Further reading