Publish a GitLab Runner Docker image for Linux on IBM Z
Description
Provide and maintain a GitLab Runner Docker imagefor Linux on IBM Z. (Linux on IBM Z is Linux running on an IBM mainframe system.)
As of the GitLab Runner 13.2 release, a Runner Docker image for Linux on Z is now available on DockerHub. You will need to download the image labelled linux/s390x
.
Problem
GitLab customers that use IBM mainframes are adopting modern DevOps practices and need to run GitLab on the mainframe to guarantee service level objectives for system uptime.
As of the initial investigation into this issue, the s390 platform did not have the GCC compiler, so GO doesn't run. So, this meant that the reasonable first step to install GitLab on the s390x platform is to develop and publish a GitLab Runner Docker image for Linux on Z.
Benefits
Users will be able to run GitLab Runner in a container on Linux on Z.
Non-Goals
Providing a GitLab EE Docker image for Linux on Z is out of scope for this issue.
s390x
Work do to before providing Docker image for - Provide the
gitlab-runner
binary for thes390x
architecture. #25794 (closed) - Build the GitLab Runner helper image so that the
docker
executor can be used ons390x
#25795 (closed)
Proposal
- Update the Runner documentation as needed to cover use of the Runner inside a Docker container on Linux on IBM Z.
- Publish image to https://hub.docker.com/r/gitlab/gitlab-runner by updating our release script to add the
s390x
architecture.
Implementation notes
Adding the docker image for gitlab-runner
should be a matter of:
- Adding a new architecture in
TARGET_ARCHS
- Finding the checksum for each binary
Dependencies
-
docker-machine
:docker-machine
doesn't provides390x
architecture, we would either have to build it on our own fork or just don't provide support fordocker-machine
git
-
git-lfs
:S390x
was only introduced inv2.10.0
, we are still onv2.7.1
, but are working on an update in #4034 (comment 337437566) but we can see if we can justapk add git-lfs
and install automatically but wouldn't match our version.