Improve CI configuration
Summary
- There will be less load on CI runners because less CI pipelines/jobs are run. Pipelines are only created for dev branches once a MR exists. Furthermore, pipelines are cancelled once a new pipeline is created for the same branch.
- Changed naming of Docker tags to clearly separate dev from production tags. Previously, this could be confusing because dev branches generated by GitLab start with a number which leads to the same naming scheme as image tags for release variants (
1-my-topic-branch
vs1-some-image-variant
).
Details
-
Make CI jobs interruptible
-
Use default stages for CI jobs
-
Simplify CI handling for building Docker images
A single job with rules is now used instead of two jobs with YAML templating.
Futhermore, Docker tag naming convertions were changed:
-
next
for the default branch -
dev-
is added as prefix for development branches
-
-
Run CI pipelines conditionally
Run pipelines only for:
- merge requests
- the default branch
- release branches/tags
Edited by Daniel Gerhardt