Find a file
Robert Marshall 166f373e1c Remove deprecated Dockerfiles
- Remove two Dockerfiles that are no longer built

Related https://gitlab.com/gitlab-org/gitlab-build-images/-/merge_requests/532

Related https://gitlab.com/gitlab-org/gitlab-build-images/-/merge_requests/387

Signed-off-by: Robert Marshall <rmarshall@gitlab.com>
2022-06-03 11:13:10 -04:00
.gitlab Fix extend statement 2022-05-24 19:17:47 +03:00
assets Merge branch 'disable-gosec-error-checking' into 'master' 2020-01-20 10:52:26 +00:00
patches Add patches for Ruby 2.7.6 2022-05-19 20:57:43 +00:00
scripts Update Ruby to 2.7.6 2022-05-17 20:39:02 +00:00
.dockerignore Experiment: automatically push built images 2022-05-11 12:56:08 +00:00
.gitattributes Add Dockerfile syntax highlighting 2019-03-26 09:52:21 +00:00
.gitignore Add .gitignore for .idea 2020-05-26 22:37:59 -07:00
.gitlab-ci.yml Use slim debian base 2022-05-17 15:06:27 +03:00
CODEOWNERS Add CODEOWNERS file 2021-11-25 10:42:10 +00:00
CONTRIBUTING.md Update license and contributing.md 2017-11-14 14:57:23 +01:00
Dockerfile.alpine-bash-jq-curl-git Add image with tools required to hit and API and parse the JSON response 2021-10-04 16:07:14 +05:30
Dockerfile.alpine-helm Add alpine-helm image used in Charts 2019-09-05 11:18:45 +05:30
Dockerfile.apollo Revert "Merge branch 'vs/bump-nodejs-for-apollo-image' into 'master'" 2022-03-28 18:41:45 +00:00
Dockerfile.build-git Add Dockerfile to build Git 2020-02-06 16:53:49 +01:00
Dockerfile.custom Automatically detect debian version 2022-05-17 15:06:27 +03:00
Dockerfile.danger Bump Node.js to 16.14.2 2022-03-18 10:07:36 +03:00
Dockerfile.danger-ruby-2.6.6 Update Danger and GitLab gem for Danger image 2022-03-10 19:55:33 +08:00
Dockerfile.gitlab-charts-build-base-helm-3 Update build images to use python3 2022-06-03 11:11:27 -04:00
Dockerfile.gitlab-charts-build-base-helm-3.7 Update build images to use python3 2022-06-03 11:11:27 -04:00
Dockerfile.gitlab-gcloud-helm3.5-kubectl1.17 Add gcloud/kubectl 1.17/Helm 3.5.2-based image 2021-09-03 08:43:23 +00:00
Dockerfile.gitlab-helm3.5-kubectl1.17 Add kubectl 1.17/Helm 3.5.2-based image 2021-03-30 14:40:18 +00:00
Dockerfile.gitlab-operator-build-base Upgrade Operator SDK to 1.14.0 2022-02-21 07:44:02 +00:00
Dockerfile.gitlab-puppeteer Update puppeteer image to node@16 2022-02-21 14:27:06 +01:00
Dockerfile.golangci-lint-alpine Initial go1.18 support by upgrading golangci-lint 2022-03-31 14:44:57 +00:00
Dockerfile.kaniko Update Dockerfile.kaniko 2021-05-11 16:40:38 +00:00
Dockerfile.omnibus-gitlab-amazonlinux2 Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-bionic Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-bullseye Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-buster Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-centos7 Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-centos8 Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-cve-search Add cve-search Docker image 2020-06-10 18:45:51 +00:00
Dockerfile.omnibus-gitlab-depscan Add image used by dependency_scanning job in omnibus-gitlab 2018-12-15 12:18:00 +05:30
Dockerfile.omnibus-gitlab-focal Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-jessie Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-opensuse15.1 Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-opensuse15.2 Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-opensuse15.3 Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-stretch Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-wheezy Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.omnibus-gitlab-xenial Bump bundler version in omnibus-gitlab images to 2.2.33 2022-03-18 16:17:08 +05:30
Dockerfile.release-tools Use C.UTF-8 2021-12-13 10:31:08 +00:00
Dockerfile.sitespeed-gitlab Move static files to assets directory 2019-11-21 09:51:13 -08:00
Dockerfile.terraform add terraform image 2020-03-12 20:19:25 +00:00
Dockerfile.triage-ops-ruby-2.7 Add triage-ops image 2022-02-03 15:34:29 +01:00
Dockerfile.ubi-release Revert "Use pip3 to grab python3 awscli" 2020-06-26 13:58:52 -07:00
Dockerfile.www-gitlab-com-ruby-3.0-node-16 Bump Ruby 3 images to 3.0.4 2022-05-13 16:50:13 +00:00
LICENSE Update license and contributing.md 2017-11-14 14:57:23 +01:00
README.md Cache Google Chrome deb with generic packages rather than AWS 2022-02-22 15:49:54 +00:00

GitLab Build Images

This repository is used to build docker images that are used to build and test various parts of GitLab:

  1. Build Omnibus packages
  2. Test GitLab-CE/EE project
  3. Build gitlab-org/www-gitlab-com project

Adding a new image

There are two methods to adding a new image:

  1. Use a Dockerfile.
  2. Use a custom image with versioned features.

Use a Dockerfile

A bespoke image is one that uses it's own Dockerfile. In the interests of avoiding repetition, it's better to use the custom docker build if possible.

Assuming the image you want to add is called new-image:

  1. Add a test task: new-image test: *test_build.
  2. Add a new build task: new-image: *build_and_deploy.
  3. Add a Dockerfile: Dockerfile.new-image.

Use a custom image with versioned features

To add a new image to the build, edit .gitlab-ci.yml.

With custom images, the name of the image is used to define the contents (as opposed to use a bespoke Dockerfile build).

For this reason, the name needs to be correctly defined.

The name is defined as [feature]-[version] pairs, separated by -.

Here are some example build names:

  1. ruby-2.7-golang-1.15-git-2.29
  2. ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34
  3. ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34

The first pair represents the base image and version. So ruby-3.0-... will use the ruby:3.0 base image, while golang-1.15 will use the golang:1.15 base image.

Each of the following parts represents another feature and version. Available options are:

  1. bazelisk
  2. chrome
  3. docker
  4. git
  5. golang
  6. graphicsmagick
  7. lfs
  8. node
  9. pgbouncer
  10. postgresql
  11. ruby
  12. yarn

Adding a new build

As an example, if you want to add new image for Ruby 3.0 with git 2.29 and golang 1.15, the name would be ruby-3.0-golang-1.15-git-2.29.

  1. Add a test task: ruby-3.0-golang-1.15-git-2.29 test: *test_custom
  2. Add a new build task: ruby-3.0-golang-1.15-git-2.29 push: *build_and_deploy_custom

Note that the build name is also used for tagging the generated image, which means it cannot be longer than 128 characters.

Pushing a rebuild image

To build (or rebuild) a given image and push it, you need to enable manual action for a given job after it is merged to master.

By default we don't do it to ensure that an upstream dependency doesn't end up breaking our images unexpectedly. For reference, this happened in the past: https://gitlab.com/gitlab-org/gitlab/issues/205192

Note regarding Google Chrome

Google has a policy of yanking older versions of Google Chrome from their PPA whenever a new major version is released. To help maintain consistent build images, there is a CI step that saves the latest Google Chrome .deb into an the GitLab package registry. The install for Chrome will attempt to retrieve from the registry if it cannot find the file in the apt repository. See scripts/cache-google-chrome for more details.

Contributing

See Contributing