Skip to main content

Yaml based way to build Docker images.

Project description

.. image:: https://travis-ci.org/nlesc-sherlock/boatswain.svg?branch=master
:target: https://travis-ci.org/nlesc-sherlock/boatswain


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.

.. code-block:: yaml

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


==========
Change Log
==========

This document records all notable changes to Boatswain.

This project adheres to `Semantic Versioning <http://semver.org/>`_.

Unreleased
----------

* 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.

`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


.. _0.1.0: https://github.com/nlesc-sherlock/boatswain/commit/f8b85edd3ed9f21c04fa846eae1af7abed8d0d77
.. _0.2.0: https://github.com/nlesc-sherlock/boatswain/compare/f8b85ed...0.2.0
.. _0.3.0: https://github.com/nlesc-sherlock/boatswain/compare/0.2.0...0.3.0
.. _0.4.0: https://github.com/nlesc-sherlock/boatswain/compare/0.3.0...0.2.0
.. _0.5.0: https://github.com/nlesc-sherlock/boatswain/compare/0.4.0...0.5.0
.. _0.5.1: https://github.com/nlesc-sherlock/boatswain/compare/0.5.0...0.5.1
.. _0.6.0: https://github.com/nlesc-sherlock/boatswain/compare/0.5.1...0.6.0


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boatswain-0.7.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

boatswain-0.7.0-py2.py3-none-any.whl (14.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file boatswain-0.7.0.tar.gz.

File metadata

  • Download URL: boatswain-0.7.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for boatswain-0.7.0.tar.gz
Algorithm Hash digest
SHA256 20bfcb4ec96f4b55678e270daec3978555e3bb4c94aef52590b5c37e23669cdf
MD5 14bc73202478459f1112a55f21e3bf4f
BLAKE2b-256 041e650868cccfa1e40cd98885db37287d9919d746ac72c8d02b980ee5cb2e41

See more details on using hashes here.

File details

Details for the file boatswain-0.7.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for boatswain-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7c75aafa195057e86ee37ffd6241abb2792e5bdccde3d912710cbe5f970e29da
MD5 781af2c9299944d5dc272ce9722a7f6d
BLAKE2b-256 eb839f5c09fc937cce1b229efc0f641bd02e687c4688b8de4f35892b1902a42a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page