Yaml based way to build Docker images.
Project description
.. image:: https://travis-ci.org/NLeSC/boatswain.svg?branch=master
:target: https://travis-ci.org/NLeSC/boatswain
.. image:: https://ci.appveyor.com/api/projects/status/5n7uj8ownch05e34/branch/master?svg=true
:target: https://ci.appveyor.com/project/NLeSC/boatswain/branch/master
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/>`_.
`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
.. _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
.. _0.7.0: https://github.com/nlesc-sherlock/boatswain/compare/0.6.0...0.7.0
:target: https://travis-ci.org/NLeSC/boatswain
.. image:: https://ci.appveyor.com/api/projects/status/5n7uj8ownch05e34/branch/master?svg=true
:target: https://ci.appveyor.com/project/NLeSC/boatswain/branch/master
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/>`_.
`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
.. _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
.. _0.7.0: https://github.com/nlesc-sherlock/boatswain/compare/0.6.0...0.7.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
boatswain-1.0.1.tar.gz
(13.6 kB
view details)
Built Distribution
File details
Details for the file boatswain-1.0.1.tar.gz
.
File metadata
- Download URL: boatswain-1.0.1.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d8a076bfea4bf0463c18557cb2f3647523fe36d70f4cf59ddb6263e6562b8dd |
|
MD5 | afa06810281f35ef665a39c97b67439f |
|
BLAKE2b-256 | 1b4d00cfecfe56bdf845f5151204d0304b6d92c70ca9a0b3abe6261fddd04fa1 |
Provenance
File details
Details for the file boatswain-1.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: boatswain-1.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 459ec4b79c9150ea466d42479a4d73384995722dab037b008bde82574e53853e |
|
MD5 | 1fd6344aaf0e2053602e1d04b9a6a55a |
|
BLAKE2b-256 | 92567c5b8e348fa4b256a7392f4e2f17dab628c41c76fbf33212aa983b3ef08a |