Skip to content
Snippets Groups Projects

Provide docker images for alpine 3.12 (default), 3.13 and 3.14.

Merged Georgi N. Georgiev requested to merge alpine-3-14 into main
2 unresolved threads

What does this MR do?

Due to https://gitlab.com/gitlab-org/gitlab-runner/-/issues/27913 we need to provide an updated version of alpine to avoid security vulnerabilities.

We bumped to alpine 3.13 in !3057 (merged) as an intermediate step in order to avoid compability issues with older docker versions https://gitlab.com/gitlab-org/gitlab-runner/-/issues/27913#note_637754156

We then reverted back to 3.12 since customers reported issues with 3.13 !3157 (merged)


This MR should optimise the pipeline a bit since helper images and helper images binaries are now split, some jobs that only wanted the binaries now don't have to wait for all the helper images as well etc. Also the helper images building and pushing are parallel now.


With this MR we will introduce the following versions for the GitLab Runner and GitLab Runner Helper docker images:

  • gitlab-runner(-helper):alpine-{arch} (The default version is still alpine 3.12.0)
  • gitlab-runner(-helper):alpine3.12-{arch}
  • gitlab-runner(-helper):alpine3.13-{arch}
  • gitlab-runner(-helper):alpine3.14-{arch}

Note:

The alpine 3.13 and 3.14 images are not included in the packages final deb and rpm since that would increase the size of the packages astronomically, instead they will be pulled from our registry or DockerHub depending on the user's preference. There have also been ideas to not include them at all so I think this approach makes sense.

Why was this MR needed?

To allow for users to use newer alpine versions without breaking behavior for old users.

What's the best way to test this MR?

  • Make sure that the correct images and versions are generated and built for the helper images and development docker jobs

  • To test building and publishing Runner images run:

PUBLISH_IMAGES=true PUSH_TO_DOCKER_HUB=true DOCKER_HUB_USER=<YOUR_USER> DOCKER_HUB_PASSWORD=<YOUR_PASSWORD> DOCKER_HUB_NAMESPACE=<YOUR_USER> IMAGE_FLAVOR=alpine3.13 make release_docker_images

For image flavor use one of alpine, alpine3.13, alpine3.14, ubuntu

  • To test building and publishing Helper images run:
make helper-dockerarchive

This will build images for all platforms and architectures. Alternatively to build them separately run:

make "helper-dockerarchive-${IMAGE_BASE}"

Replace IMAGE_BASE with either alpine, alpine3.13, alpine3.14, ubuntu

To test the pushing and importing of the helper archives run the following commands:

PUBLISH_IMAGES=true PUSH_TO_DOCKER_HUB=true DOCKER_HUB_USER=<YOUR_USER> DOCKER_HUB_PASSWORD=<YOUR_PASSWORD> DOCKER_HUB_NAMESPACE=<YOUR_USER> IMAGE_FLAVOR=alpine3.12 IMAGE_TAG="" make release_helper_docker_images

PUBLISH_IMAGES=true PUSH_TO_DOCKER_HUB=true DOCKER_HUB_USER=<YOUR_USER> DOCKER_HUB_PASSWORD=<YOUR_PASSWORD> DOCKER_HUB_NAMESPACE=<YOUR_USER> IMAGE_FLAVOR=alpine3.12 IMAGE_TAG="alpine3.12-" make release_helper_docker_images

PUBLISH_IMAGES=true PUSH_TO_DOCKER_HUB=true DOCKER_HUB_USER=<YOUR_USER> DOCKER_HUB_PASSWORD=<YOUR_PASSWORD> DOCKER_HUB_NAMESPACE=<YOUR_USER> IMAGE_FLAVOR=alpine3.13 IMAGE_TAG="alpine3.13-" make release_helper_docker_images

PUBLISH_IMAGES=true PUSH_TO_DOCKER_HUB=true DOCKER_HUB_USER=<YOUR_USER> DOCKER_HUB_PASSWORD=<YOUR_PASSWORD> DOCKER_HUB_NAMESPACE=<YOUR_USER> IMAGE_FLAVOR=alpine3.14 IMAGE_TAG="alpine3.14-" make release_helper_docker_images

PUBLISH_IMAGES=true PUSH_TO_DOCKER_HUB=true DOCKER_HUB_USER=<YOUR_USER> DOCKER_HUB_PASSWORD=<YOUR_PASSWORD> DOCKER_HUB_NAMESPACE=<YOUR_USER> IMAGE_FLAVOR=ubuntu IMAGE_TAG="ubuntu-" make release_helper_docker_images

What are the relevant issue numbers?

Closes https://gitlab.com/gitlab-org/gitlab-runner/-/issues/27913

Edited by Arran Walker

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Suzanne Selhorn approved this merge request

    approved this merge request

  • Suzanne Selhorn removed review request for @sselhorn

    removed review request for @sselhorn

  • added 1 commit

    Compare with previous version

  • Arran Walker approved this merge request

    approved this merge request

  • Arran Walker started a merge train

    started a merge train

  • Arran Walker changed title from Provide docker images for alpine 3.12, 3.13 and 3.14 as well as the default 3.12 to Provide docker images for alpine 3.12 (default), 3.13 and 3.14.

    changed title from Provide docker images for alpine 3.12, 3.13 and 3.14 as well as the default 3.12 to Provide docker images for alpine 3.12 (default), 3.13 and 3.14.

  • Arran Walker removed this merge request from the merge train because pipeline did not succeed

    removed this merge request from the merge train because pipeline did not succeed

  • Arran Walker enabled automatic add to merge train when the pipeline for 0a06841f succeeds

    enabled automatic add to merge train when the pipeline for 0a06841f succeeds

  • Arran Walker started a merge train

    started a merge train

  • Arran Walker mentioned in commit 9f74b3fc

    mentioned in commit 9f74b3fc

  • merged

  • Georgi N. Georgiev mentioned in merge request !3193 (merged)

    mentioned in merge request !3193 (merged)

  • Georgi N. Georgiev mentioned in merge request !2969 (closed)

    mentioned in merge request !2969 (closed)

  • mentioned in issue #27754 (closed)

  • added typemaintenance label and removed tooling (archive) label

  • Arran Walker mentioned in merge request !4072 (merged)

    mentioned in merge request !4072 (merged)

  • Please register or sign in to reply
    Loading