Skip to content

Create dependencies Docker image

Joren Vrancken requested to merge dependencies-image into master

Description

The goal of this MR is to create a new Docker image that contains all the dependencies of Concrexit. This image would be built using a Gitlab CI Pipeline schedule.

With this change the following would happen:

  • Every day (or on some other schedule) a new Docker image containing only the dependencies (including the development dependencies) is being build.
  • The CI jobs run using the dependencies image. This removes the dependency install time from every job.
    • poetry install is still being run on every job, to make sure dependencies specific to that branch are being installed.
  • A Docker image (concrexit:<sha>) is being build on every branch, but significantly faster because the dependencies image is used as the base image.
  • When a production Docker is being built, a new dependencies image without the development dependencies is build first.

The advantages:

  • Faster builds.
  • Always build using up to date dependencies (thaliawww/python-thalia is not automatically build and updated).
  • Better maintainable configuration, because everything is in this repo instead of two repos on two different platforms.

Because a lot of refactoring is being done, this MR also refactors the whole config to be consistent.

Edited by Joren Vrancken

Merge request reports