Build release-tools base image with gem dependencies
What does this MR do and why?
Our current base image is created with https://dev.gitlab.org/gitlab/gitlab-build-images/-/blob/master/Dockerfile.release-tools
- It makes harder to keep it in sync with
.ruby-version
- It is not bundling gem dependencies, we will not be able to run our pipelines if a gem we utilize suddenly disappear from the internet
- It relies on our DEV instance docker registry instead of OPS
With this MR:
- we are moving the base image into release-tools, storing it on both GitLab.com and OPS.
- We bundle all our gems and rebuild the base image when a dependency changes
- we ensure we always run with the gem specified in the lockfile
- we test the new base image before making it the default version
Next steps after we merge this:
- merging !1805 (merged)
- add go to the base image for
delivery-metrics
Author Check-list
-
Has documentation been updated?
Edited by Alessio Caiazza (OOO until 2024-08-26)