Skip to content

support all options from `docker-compose.yml` in gitlab runner services

Problem to solve

https://forum.gitlab.com/t/specifying-environment-variables-for-gitlab-ci-services/10776 Currently you can only set environment variables for all docker services - you can't start two mysql with different passwords.

Further details

Support as much syntax as possible from https://docs.docker.com/compose/compose-file/

currently you have to do this:

services:
  - mysql:latest
  - mysql:latest

variables:
  MYSQL_DATABASE: el_duderino
  MYSQL_ROOT_PASSWORD: mysql_strong_password

Proposal

but I want to do this:

services:
  - image: mysql:latest
    environment:
      - "MYSQL_DATABASE=el_duderino"
      - "MYSQL_ROOT_PASSWORD=mysql_strong_password"
  - image: mysql:latest
    environment:
      - "MYSQL_DATABASE=hamspam"
      - "MYSQL_ROOT_PASSWORD=another_mysql_strong_password"

What does success look like, and how can we measure that?

success is the number of possible docker-compose flags that can be used

(If no way to measure success, link to an issue that will implement a way to measure this)

Links / references