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
: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
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-0.7.0.tar.gz
(12.7 kB
view details)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20bfcb4ec96f4b55678e270daec3978555e3bb4c94aef52590b5c37e23669cdf |
|
MD5 | 14bc73202478459f1112a55f21e3bf4f |
|
BLAKE2b-256 | 041e650868cccfa1e40cd98885db37287d9919d746ac72c8d02b980ee5cb2e41 |
File details
Details for the file boatswain-0.7.0-py2.py3-none-any.whl
.
File metadata
- Download URL: boatswain-0.7.0-py2.py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c75aafa195057e86ee37ffd6241abb2792e5bdccde3d912710cbe5f970e29da |
|
MD5 | 781af2c9299944d5dc272ce9722a7f6d |
|
BLAKE2b-256 | eb839f5c09fc937cce1b229efc0f641bd02e687c4688b8de4f35892b1902a42a |