Moby is a tool to automate running scripts in a docker container. This can be used to run tests or other stuff that depend on binaries or other stuff you don't want to install.
Moby assumes there is a Dockerfile in the current directory. Currently there is no way to configure otherwise. So there should be a Dockerfile.
Create a file called moby.yml, this is the configuration file moby will search for. Example:
envlist: [test, build]
test:
before:
push:
- tests
- tox.ini
run:
- apt-get install -y tox
run:
- tox
build:
run:
- ./build.sh
after:
pull:
- dist
Then run moby.
When the example is ran, moby builds and launches the container from the Dockerfile. The test environment is ran first. The tests directory and the tox.ini file are pushed to the running container (to the working dir). Then apt-get install -y tox is ran. Lastly, tox is executed. Then the build environment is ran. ./build.sh is executed and the dist directory is downloaded from the container to the current directory. After all this, the container is shut down.
An environment can have an after entry. This entry is considered an environment that is ran after the environment is ran.
An environment can have an after entry. This entry is considered an environment that is ran before the environment is ran.
envlist is a required entry, it states which environments are to be run.
An environment is created at the root with an arbitrary name. An environment only requires a run entry.
An environment can have a push entry. This states which files to push to the container.
An environment can have a pull entry. This states which files to pull from the container.