Skip to content

Create `gitlab/kitchensink` docker image

Description

Most .gitlab-ci.yml configurations start from a standard base image and then apt get whatever they need to run their CI/CD. This is great and functional, but all that apt geting adds a lot of time to the CI/CD pipeline. We can encourage people to create their own custom images, and that helps, but is quite painful and still inflates download time and the proliferation of images overwhelms our docker image proxy cache. If we provided a standard image with most common tools already installed, we could speed up a lot of pipelines by providing everything that 90%+ of our users need. It would get even better if we pre-loaded this image on every shared runner on GitLab.com. This would let us approach the raw speed of CircleCI or Travis CI.

Proposal

Start from something common like ubuntu and add:

  • docker, docker-compose, etc.
  • rvm and a bunch of ruby versions
  • nvm and a bunch of node versions
  • Google Cloud CLI which includeskubectl
  • awscli
  • dpl (in every ruby version)
  • python, java, other languages (and multiple versions if feasible)

Links / references