Skip to content

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.

Work do to before providing Docker image for s390x

  1. Provide the gitlab-runner binary for the s390x architecture. #25794 (closed)
  2. Build the GitLab Runner helper image so that the docker executor can be used on s390x #25795 (closed)

Proposal

  1. Update the Runner documentation as needed to cover use of the Runner inside a Docker container on Linux on IBM Z.
  2. 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:

  1. Adding a new architecture in TARGET_ARCHS
  2. Finding the checksum for each binary

Dependencies

  1. docker-machine: docker-machine doesn't provide s390x architecture, we would either have to build it on our own fork or just don't provide support for docker-machine
  2. git
  3. git-lfs: S390x was only introduced in v2.10.0, we are still on v2.7.1, but are working on an update in #4034 (comment 337437566) but we can see if we can just apk add git-lfs and install automatically but wouldn't match our version.
Edited by Darren Eastman