Godo
Godo is a build tool for executing consistent, reproducible builds inside Docker containers.
The only dependencies to use godo are a working Docker installation and the godo binary installed.
Usage
Godo loosely resembles make, except the commands and scripts that you tell it to execute must be inside a Docker conainer.
Like make, it operates on build targets and ships with the following targets pre-configured, out of the box:
build - build your Go code inside a container (soon to be deprecated)
docker-build - build an image with your Go program inside it
docker-push - push your image to a Docker repository
Configuration
Project structures and settings vary significantly, so each of those targets are configurable in a gci.yaml file (to be changed soon). See Godo's own gci.yaml file for an example
Features Not Yet Implemented
The following high level features are planned, but not yet implemented:
Development
Writing code for Godo is simple. Since it's a build tool, it can bootstrap itself by running godo build in the root of the repo.
Assuming you don't have a godo binary available, you can build it with the standard go toolchain as well. Here's what you'll need:
Once you ensure that you have both dependencies, simply:
glide install
go install
Ensure that you have $GOPATH/bin somewhere on your $PATH, and now you can execute godo targets.
When you're ready to write code, simply fork and open a pull request.