Allow to build development version of DEB, RPM and Docker with make
What does this MR do?
Adds a one-command make targets that will allow to build a DEB/RPM package and/or Docker image from the development version of the code.
Why was this MR needed?
Inspired by #3062 (closed). We have a Dockerfile
file in the root of Runner's repository. This file was used in the past for automatic builds of Bleeding Edge version on Docker Hub from GitHub's repository.
Now, since two years, we're building the Bleeding Edge images as part of our CI/CD pipeline and we're pushing this to Docker Hub for each commit on master
. This means that ./Dockerfile
have lost it initial purpose. However...
Since it's a Dockerfile
in the root of the repository many contributors may think, that it's the way how Docker image for GitLab Runner should be built and that docker build -t SOME_NAME .
is everything that's needed to have a local, development version of Runner in a Docker image. And this is not true. Our official images are built from definitions in ./dockerfiles/(alpine|ubuntu)
and they relay on many artifacts like helper images archives, Runner binary, DEB package etc.
We've already had a build_current
script that builds a local, development version of the binary "properly". This MR:
- adds a
build_current_docker
,build_current_deb
andbuild_current_rpm
targets, that build DEB/RPM packages and Docker image from local sources "properly", just likebuild_current
does for the binary, - removes the confusing
Dockerfile
from the root of the repository.
Are there points in the code the reviewer needs to double check?
Does this MR meet the acceptance criteria?
-
Documentation created/updated - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Branch has no merge conflicts with master
(if you do - rebase it please)