drone / drone-runtime

[DEPRECATED] migrated to https://github.com/drone-runners
Other
62 stars 43 forks source link

driver: compose #80

Open bradrydzewski opened 5 years ago

bradrydzewski commented 5 years ago

I've been trying to figure out what a docker-compose runner might look like. So many people try to run docker-compose inside drone using docker-in-docker or mounting the host machine socket and it is always a mess. It would be great to have a runner that natively supports these types of workflows.

I just started jotting some ideas down for what this could look like:

kind: pipeline
type: docker-compose

up:
- docker-compose.yml
- docker-compose-e2e.yml

exec:
- foo ./test_runner_script.sh
- bar ./test_runner_script.sh

push:
- foo/bar

config:
  auths:
    docker.io:
      username: foo
      password: bar

Some outstanding questions:

related articles:

tboerger commented 5 years ago

1) you want to be able to inject env variables 2) some kind of pre script also makes sense for preparing the stack requirements 3) use by default an array similar to conditions, but optionally allow an object for conditions and things like that

These are my 2 cents

bradrydzewski commented 5 years ago

@tboerger would love to see a mockup of how you think the yaml could look :) I know you use compose for testing so you probably have better ideas than I do.