Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • concrexit concrexit
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 70
    • Issues 70
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • thaliathalia
  • concrexitconcrexit
  • Merge requests
  • !1488

Create dependencies Docker image

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Joren Vrancken requested to merge dependencies-image into master Feb 06, 2020
  • Overview 17
  • Commits 2
  • Changes 12

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 Feb 08, 2020 by Joren Vrancken
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: dependencies-image