Build golden container image to be used by default for creating workspace
MR
- Workspace Golden Image (gitlab-build-images!875 - merged)
- Update workspaces image platform (gitlab-build-images!877 - merged)
- Update build essentials (gitlab-build-images!878 - merged)
Description
As per the plan in Provide default devfile for projects if not pre... (&14644) , we need a golden container image which will be used by default for creating a workspace from a project which does not have a devfile present.
- Use https://gitlab.com/gitlab-org/gitlab-build-images to build the container images
- The format of the published container image would be
-
registry.gitlab.com/gitlab-build-images/workspaces/BASE_IMAGE:INSTALLED_PACKAGES
. e.g.registry.gitlab.com/gitlab-build-images/workspaces/debian-24.04:go-1.22-nodejs-3.2
,registry.gitlab.com/gitlab-build-images/workspaces/ubuntu-24.04:go-1.22
- If this format is not possible for some reason, we will follow
registry.gitlab.com/gitlab-build-images/workspaces-BASE_IMAGE:INSTALLED_PACKAGES
. e.g.registry.gitlab.com/gitlab-build-images/workspaces-debian-24.04-go-1.22-nodejs-3.2
,registry.gitlab.com/gitlab-build-images/workspaces-ubuntu-24.04-go-1.22
-
- The dockerfile will be called
Dockerfile.workspaces.ubuntu
. We will base this image on the latest stable LTS version of Ubuntu (24.04 LTS). - The end goal(not included in the of this MR/issue) is that we will leverage the scripts to define a set of scripts for a combination of OS-distribution(e.g. ubuntu, debian, etc.) and installed packages(e.g. go, nodejs, etc.) and we will use a generic image per distribution and utilize the scripts to install all the required packages. This will help us to keep things DRY.
Acceptance Criteria
-
make dockerfile described above and publish image to gitlab-build-images
-
check details are correctly, for example golang installed with correct version -
update README or docs with link to GitLab container image best practice (#502355)
Technical Requirements
NA
Design Requirements
NA
Impact Assessment
NA
User Story
NA
Edited by Zhaochen Li