Skip to content

Draft: Add Dockerfile for CI image

Mitchell Nielsen requested to merge ci-build-image into master

What does this MR do?

Add Dockerfile for CI image

Adds a Dockerfile.ci file for building the image in use by many of the jobs in CI.

Uses asdf to install most of the tools via the .tool-versions file, which keeps the CI tools in sync with the tool versions used by developers.

Why?

With the build image in a separate repository (gitlab-build-images), it's easy to have binary versions get out of sync. We also end up with developers installing tooling differently than what's used in CI. Additionally, .tool-versions is meant to be the source of truth for required dependencies and their versions, but this isn't fully accurate given that gitlab-build-images has an entirely different list of binaries and their versions.

If we can bring these definitions into the Operator project, we can:

  • Update dependencies in one place.
  • Install dependencies the same way on developer machines and in CI.
  • Test changes to dependencies in Operator CI pipelines without coordinating MRs between two projects

Related issues

Closes gitlab-org/gitlab-build-images#86

Closes #213

Checklist

See Definition of done.

For anything in this list which will not be completed, please provide a reason in the MR discussion.

Required

  • Merge Request Title and Description are up to date, accurate, and descriptive
  • MR targeting the appropriate branch
  • MR has a green pipeline on GitLab.com
  • When ready for review, MR is labeled "~workflow::ready for review" per the Distribution MR workflow

Expected (please provide an explanation if not completing)

  • Test plan indicating conditions for success has been posted and passes
  • Documentation created/updated
  • Tests added
  • Integration tests added to GitLab QA
  • Equivalent MR/issue for omnibus-gitlab opened
  • Validate potential values for new configuration settings. Formats such as integer 10, duration 10s, URI scheme://user:passwd@host:port may require quotation or other special handling when rendered in a template and written to a configuration file.

Related issues

Related to #603 (comment 1537249900)

Edited by Mitchell Nielsen

Merge request reports