Metadata-Version: 2.0
Name: boatswain
Version: 0.7.0
Summary: Yaml based way to build Docker images.
Home-page: https://github.com/nlesc-sherlock/boatswain
Author: Berend Weel
Author-email: b.weel@esiencecenter.nl
License: Apache Software License
Platform: any
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Development Status :: 3 - Alpha
Classifier: Natural Language :: English
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: PyYAML (<4.0,>=3.12)
Requires-Dist: docker (>=2.0.0,<3.0.0)
Requires-Dist: progressbar2 (>=3.16.0,<4.0.0)
Provides-Extra: registry
Requires-Dist: docker-registry-client (>=0.5.1); extra == 'registry'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-flake8; extra == 'test'

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


