Package: boatswain
BoatswainBoatswain is a simple build system for docker images.It is especially usefull when you have multiple docker images that
depend on each other.InstallationBoatswain is a simple python script you can install with pip$ pip install boatswainUsageCreate 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 yamlorganisation:boatswain# Your dockerhub organisationimages:image1:pytest:# the key will be used to tag the imagecontext:docker/image1# The path of the dockerfileimage2:pytest:context:docker/image2from:image1:pytest# This image depends on the other imageimage3:pytest:context:docker/image3from:image2:pytestimage4:pytest:context:docker/image4tag:image12:pytest# This image will be tagged with thisBuildingYou 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 buildCleaningYou can clean the images that are defined in the boatswain file.$ boatswain cleanPushingYou can push the built images to dockerhub using thepushcommand.
It will be pushed toorganisation/imagetagon dockerhub.$ boatswain pushExtra Options-hDisplay the options-q,--quietDon’t display any output-k,--keep_buildingKeep building images even if an error occurs--dryrunDo 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,--forceForce building the images, even if they already exist
(only for build)Debugging your buildWhen your build does not go the way you expected boatswain
can display some more information by using:-vVerbose mode, displays a build progress for each image-vvVery verbose mode, displays the output of the docker build process--debugDebug mode, displays debug information of boatswain
as well as the output of the docker build processChange LogThis document records all notable changes to Boatswain.This project adheres toSemantic Versioning.1.0.4* Updated dynamic string message to variable1.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 default1.0.2* Correct citation.cff file1.0.1Fixed some packaging things1.0.0Fixed help text of push commandFixed extraction of image id from docker response in some casesWindows compatibilityAppveyor windows tests are passing0.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 imagesChanged progress indication to full white block0.6.0(2017-03-09)Added the tree command which will print the tree of the boatswain fileAdded quiet and extra verbose modes0.5.1(2017-02-10)Fixed issue with printing unicode text from the docker stream0.5.0(2017-02-10)Implemented push commandBuild will now greedily try to build images instead of throwing an
exception at the first error.Added error messages to failing buildsStandardized return values (e.g. always a list)Refactored to reduce code duplication in boatswain class0.4.0(2017-02-09)Progress timer now increases every secondImproved error reporting (No longer uses an exception)0.3.0(2017-02-08)Added a whole bunch of testsAdded the clean commandChanged file layout from recursive to using from0.2.0(2017-02-06)Added dry-run optionAdded ability to build only one image0.1.0(2017-02-02)Initial release