buildkite-plugins / docker-compose-buildkite-plugin

🐳⚡️ Run build scripts, and build + push images, w/ Docker Compose
MIT License
171 stars 138 forks source link

Missing support for profiles #437

Closed TJC closed 6 days ago

TJC commented 3 months ago

Docker Compose supports "profile" tags, so you can design docker-compose files where only a subset of services are started, depending on the profile tags.

See https://docs.docker.com/compose/profiles/ for more detail.

I was hoping to have a way to select profiles in the docker-compose buildkite plugin, but I can't see anything at the moment, in either the README or the examples.

It would be great to put this on your roadmap, if it is indeed missing.

toote commented 2 weeks ago

@TJC this is indeed an interesting feature, but with a high potential of shooting yourself in the foot due to dependencies not being started up.

If you want to use profiles and this plugin, you can still do so by defining a step or pipeline-level environment variable called COMPOSE_PROFILES with the correct values. Meaning that you can do something like:

steps:
  - key: test
     command: echo 'from inside the container'
     env:
       COMPOSE_PROFILES: "frontend,debug"
     plugins:
       - docker-compose#v5.3.0:
           run: app

I have created a new section in the examples with such thing and the corresponding clarifications.