Find a file
Hayley Swimelar 6d66271624 Move static files to assets directory
This commit creates a new directory for static files, and moves
static files to assets directory that were previously in the
scripts directory.
2019-11-21 09:51:13 -08:00
assets Move static files to assets directory 2019-11-21 09:51:13 -08:00
scripts Move static files to assets directory 2019-11-21 09:51:13 -08:00
.gitattributes Add Dockerfile syntax highlighting 2019-03-26 09:52:21 +00:00
.gitlab-ci.yml Add CentOS 8 image 2019-11-13 11:43:24 +05:30
CONTRIBUTING.md Update license and contributing.md 2017-11-14 14:57:23 +01:00
Dockerfile.alpine-aws Ensure that package managers clean up 2018-10-04 23:29:51 +02:00
Dockerfile.alpine-helm Add alpine-helm image used in Charts 2019-09-05 11:18:45 +05:30
Dockerfile.custom Make pcre2 default and not configurable 2019-05-08 08:53:57 -07:00
Dockerfile.danger Pin all Ruby 2.6 images to 2.6.3 2019-09-04 16:13:20 -07:00
Dockerfile.gitlab-charts-build-base Bump the helm and kubectl used in the charts base image 2019-09-19 11:32:01 -07:00
Dockerfile.gitlab-docs Use bundler v1.17.3 2019-11-05 15:23:53 +00:00
Dockerfile.gitlab-docs-lint Use bundler v1.17.3 2019-11-05 15:23:53 +00:00
Dockerfile.gitlab-puppeteer Update puppeteer image to use node@12 2019-06-14 12:21:16 +00:00
Dockerfile.gitlab-qa Update Docker CE to 19.03.1 2019-08-12 13:18:20 +01:00
Dockerfile.gitlab-qa-alpine Update Ruby to 2.6.3 in the gitlab-qa-alpine image 2019-10-17 09:57:03 +02:00
Dockerfile.golangci-lint-alpine Move static files to assets directory 2019-11-21 09:51:13 -08:00
Dockerfile.omnibus-gitlab-bionic Bump Ruby version used in omnibus-gitlab tester images to 2.6.3 2019-06-12 18:16:29 +05:30
Dockerfile.omnibus-gitlab-buster Add image for Debian Buster 2019-07-11 20:55:24 +05:30
Dockerfile.omnibus-gitlab-centos6 Bump Ruby version used in omnibus-gitlab tester images to 2.6.3 2019-06-12 18:16:29 +05:30
Dockerfile.omnibus-gitlab-centos7 Bump Ruby version used in omnibus-gitlab tester images to 2.6.3 2019-06-12 18:16:29 +05:30
Dockerfile.omnibus-gitlab-centos8 Add CentOS 8 image 2019-11-13 11:43:24 +05:30
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-jessie Bump Ruby version used in omnibus-gitlab tester images to 2.6.3 2019-06-12 18:16:29 +05:30
Dockerfile.omnibus-gitlab-opensuse15.0 Add tester image for openSUSE 15.0 2019-06-17 10:35:50 +05:30
Dockerfile.omnibus-gitlab-opensuse15.1 Add openSUSE 15.1 image 2019-10-16 11:28:45 +05:30
Dockerfile.omnibus-gitlab-opensuse42.3 Use archive image for openSUSE 42.3 2019-07-08 13:31:06 +05:30
Dockerfile.omnibus-gitlab-stretch Bump Ruby version used in omnibus-gitlab tester images to 2.6.3 2019-06-12 18:16:29 +05:30
Dockerfile.omnibus-gitlab-trusty Bump Ruby version used in omnibus-gitlab tester images to 2.6.3 2019-06-12 18:16:29 +05:30
Dockerfile.omnibus-gitlab-wheezy Bump Ruby version used in omnibus-gitlab tester images to 2.6.3 2019-06-12 18:16:29 +05:30
Dockerfile.omnibus-gitlab-xenial Bump Ruby version used in omnibus-gitlab tester images to 2.6.3 2019-06-12 18:16:29 +05:30
Dockerfile.release-tools Update release-tools Ruby version to 2.5.3 2018-11-14 17:00:24 +01:00
Dockerfile.ruby-alpine-aws Add Ruby based image with aws cli 2019-06-04 15:22:05 +05:30
Dockerfile.sitespeed-gitlab Move static files to assets directory 2019-11-21 09:51:13 -08:00
Dockerfile.ubi-release Add build image for UBI release task 2019-11-13 08:42:55 +11:00
Dockerfile.www-gitlab-com-2.4 Install imagemagick in www-gitlab-com docker image 2018-10-30 17:41:13 +01:00
Dockerfile.www-gitlab-com-2.6 Upgrade Ruby to 2.6.5 for www-gitlab-com builds 2019-10-12 06:33:07 -07:00
LICENSE Update license and contributing.md 2017-11-14 14:57:23 +01:00
README.md Merge branch 'leipert-remove-phantom' into 'master' 2018-10-04 11:22:12 +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 docker buildfile.
  2. Use a custom image with versioned features.

Use a docker buildfile

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.1-git-2.7
  2. ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6
  3. ruby-2.4.1-golang-1.8-git-2.7-node-7.1-postgresql-9.6

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

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

  1. golang
  2. git
  3. chrome
  4. node
  5. yarn
  6. postgres
  7. terraform
  8. ansible
  9. graphicsmagick

Adding a new build

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

  1. Add a test task: ruby-2.4-golang-1.9-git-2.14 test: *test_custom
  2. Add a new build task: ruby-2.4-golang-1.9-git-2.14: *build_and_deploy_custom

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 S3 bucket. The install for Chrome will attempt to retrieve from the bucket if it cannot find the file in the apt repository. See scripts/cache-google-chrome for more details.

Contributing

See Contributing