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_rpmtargets, that build DEB/RPM packages and Docker image from local sources "properly", just like
build_currentdoes for the binary,
- removes the confusing
Dockerfilefrom 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
- Added for this feature/bug
- All builds are passing
Branch has no merge conflicts with
master(if you do - rebase it please)