Skip to content

Multi arch docker container for gitlab runner and helper

Description

Docker has added support for an image tag to point to multiple backing images broken down by OS/Architecture, this seems like a good time to make gitlab runner images for more than x86/amd64 and have them backed by the same tag, especially since most if not all of the current build process could be ported to more architectures. The reason I'm proposing this now is because with Amazon launching their new ARM instances it might be a good target opportunity to set this up.

Proposal

Create docker images for the following architectures automatically:

  • x86_64 (already done)
  • 386
  • ARM
  • ARM64 (maybe)

On top of creating those images (either in a different repositories on dockerhub or using different tags) use docker manifest create and docker manifest push to make tags like gitlab/gitlab-runner:latest or gitlab/gitlab-runner:11.7 point to the manifest which then specifies those images, and then the client will pull the correct image based on their architecture.

This would also require creating helper images for those architectures and then tagging them similarly, see references below.

Links to related issues and merge requests / references

#2137 (closed) #3919 (closed) #1344 (closed)