Last updated:
0 purchases
boatswain 1.0.4
Boatswain
Boatswain is a simple build system for docker images.
It is especially usefull when you have multiple docker images that
depend on each other.
Installation
Boatswain is a simple python script you can install with pip
$ pip install boatswain
Usage
Create a file called boatswain.yml for your project with the following
syntax, which is heavily based on docker-compose.
version: 1.0 # The version of the boatswain yaml
organisation: boatswain # Your dockerhub organisation
images:
image1:pytest: # the key will be used to tag the image
context: docker/image1 # The path of the dockerfile
image2:pytest:
context: docker/image2
from: image1:pytest # This image depends on the other image
image3:pytest:
context: docker/image3
from: image2:pytest
image4:pytest:
context: docker/image4
tag: image12:pytest # This image will be tagged with this
Building
You can build the images defined in the boatswain file using the following
command. This invokes the docker build process for each image in the order
so the dependencies are built before the dependent image.
$ boatswain build
Cleaning
You can clean the images that are defined in the boatswain file.
$ boatswain clean
Pushing
You can push the built images to dockerhub using the push command.
It will be pushed to organisation/imagetag on dockerhub.
$ boatswain push
Extra Options
-h
Display the options
-q, --quiet
Don’t display any output
-k, --keep_building
Keep building images even if an error occurs
--dryrun
Do not actually execute the command, just go through the motions
-b <boatswain_file>, --boatswain_file <boatswain_file>
Override the default boatswain file (boatswain.yml)
-f, --force
Force building the images, even if they already exist
(only for build)
Debugging your build
When your build does not go the way you expected boatswain
can display some more information by using:
-v
Verbose mode, displays a build progress for each image
-vv
Very verbose mode, displays the output of the docker build process
--debug
Debug mode, displays debug information of boatswain
as well as the output of the docker build process
Change Log
This document records all notable changes to Boatswain.
This project adheres to Semantic Versioning.
1.0.4
* Updated dynamic string message to variable
1.0.3
* Added a non-zero exit code when a build fails
* Added a build summary show succesful and non-succesfully built images
* Added a keep-building (-k) command line argument
* Building now stops at the first failed image by default
1.0.2
* Correct citation.cff file
1.0.1
Fixed some packaging things
1.0.0
Fixed help text of push command
Fixed extraction of image id from docker response in some cases
Windows compatibility
Appveyor windows tests are passing
0.7.0 (2017-04-03)
Added a ‘before’ and ‘command’ key to the build definition.
This is a list of commands that need to be staged into the context directory.
Default verbosity only shows 1 progress bar for all images
Changed progress indication to full white block
0.6.0 (2017-03-09)
Added the tree command which will print the tree of the boatswain file
Added quiet and extra verbose modes
0.5.1 (2017-02-10)
Fixed issue with printing unicode text from the docker stream
0.5.0 (2017-02-10)
Implemented push command
Build will now greedily try to build images instead of throwing an
exception at the first error.
Added error messages to failing builds
Standardized return values (e.g. always a list)
Refactored to reduce code duplication in boatswain class
0.4.0 (2017-02-09)
Progress timer now increases every second
Improved error reporting (No longer uses an exception)
0.3.0 (2017-02-08)
Added a whole bunch of tests
Added the clean command
Changed file layout from recursive to using from
0.2.0 (2017-02-06)
Added dry-run option
Added ability to build only one image
0.1.0 (2017-02-02)
Initial release
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.