remind101 / conveyor

A fast build system for Docker images.
http://engineering.remind.com/introducing-conveyor/
BSD 2-Clause "Simplified" License
221 stars 24 forks source link

Use captain to build #2

Open ejholmes opened 9 years ago

ejholmes commented 9 years ago

Using captain in the default builder image would be nice for a couple of reasons:

  1. It supports a captain.yml file to build multiple Dockerfiles.
  2. captain could be used locally to build as well.

Only thing that prevents this atm is that captain tags the docker image with a short sha instead of the full sha.

mwildehahn commented 8 years ago

I need this as well to build multiple frontend images with different assets, filed: https://github.com/harbur/captain/issues/31.

I think the full commit sha is more of a nice to have, I'm going to start working on a branch that uses captain.

ejholmes commented 8 years ago

@mhahn You can also just fork the remind101/conveyor-builder image and pass your own image as --builder.image: https://github.com/remind101/conveyor/blob/master/cmd/conveyor/worker.go#L28-L31

mwildehahn commented 8 years ago

yea i did that to use a more updated version of conveyor-builder but captain also provides a similar flow to circleci which is what builds all our images now, so i think its a win

dkapanidis commented 8 years ago

Intrigued and interested to see conveyor and captain work together. I can check the full-sha issue, would a flag-enabling option be sufficient for that?

mwildehahn commented 8 years ago

Yea, I think something similar to: https://github.com/harbur/captain/blob/master/captain.go#L43 https://github.com/harbur/captain/blob/master/cmd/captain/cmd.go#L16

would work

mwildehahn commented 8 years ago

@spiddy any update on this?

mwildehahn commented 8 years ago

@ejholmes i started looking at this last night. I had some questions about how you would recommend structuring it.

One option like you mentioned is to fork: https://github.com/remind101/conveyor/blob/master/builder/docker/bin/build and use captain instead. I wasn't sure how to integrate that into the current app structure or if i should just do it as a separate repo

dkapanidis commented 8 years ago

captain code is merged. It can be activated using -l flag (or --long-sha)

mwildehahn commented 8 years ago

thanks @spiddy

On Mon, Feb 1, 2016 at 2:22 AM spiddy notifications@github.com wrote:

captain code is merged. It can be activated using -l flag (or --long-sha)

— Reply to this email directly or view it on GitHub https://github.com/remind101/conveyor/issues/2#issuecomment-177895497.

ejholmes commented 8 years ago

@mhahn I think with long sha support, captain can just replace the shell commands that we have in ./bin/build.

mwildehahn commented 8 years ago

yea, i've started that here: https://github.com/lunohq/conveyor-builder-captain/blob/master/bin/build

only regression is retrying docker push 3 times, i opened: https://github.com/harbur/captain/issues/34 to track adding support for that in captain

ejholmes commented 8 years ago

FYI, I just pulled out remind101/conveyor-builder to https://github.com/remind101/conveyor-builder. If we make any changes to the builder, that'll be the place to do it.

mwildehahn commented 8 years ago

Nice it felt weird inside this repo :) On Wed, Feb 3, 2016 at 6:31 PM Eric Holmes notifications@github.com wrote:

FYI, I just pulled out remind101/conveyor-builder to https://github.com/remind101/conveyor-builder. If we make any changes to the builder, that'll be the place to do it.

— Reply to this email directly or view it on GitHub https://github.com/remind101/conveyor/issues/2#issuecomment-179583669.