Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dnephin/dobi

A build automation tool for Docker applications
https://github.com/dnephin/dobi

build-automation build-pipelines docker dockerfile task-runner

Last synced: 5 days ago
JSON representation

A build automation tool for Docker applications

Awesome Lists containing this project

README

        

dobi
====

A build automation tool for Docker applications.

Keep your project tasks organized, portable, repeatable, and fast with ``dobi``.
Define the resources and tasks required to build, test, and release your project in
a ``dobi.yaml`` and run them with ``dobi TASK``.

See `Getting Started `_

.. image:: https://img.shields.io/github/release/dnephin/dobi.svg?maxAge=7200
:target: https://github.com/dnephin/dobi/releases/latest

.. image:: https://circleci.com/gh/dnephin/dobi/tree/master.svg?style=shield
:target: https://circleci.com/gh/dnephin/dobi/tree/master

.. image:: https://goreportcard.com/badge/github.com/dnephin/dobi
:target: https://goreportcard.com/report/github.com/dnephin/dobi

.. image:: https://badges.gitter.im/dnephin/dobi.png
:target: https://gitter.im/dnephin-dobi/Lobby

Features
--------

Key features of ``dobi``:

* **optimal** - tasks are only run when the resource is stale. If a resource
hasn't changed the task is skipped.
* **portable** - all tasks run in a container, so developers are free to use
different operating systems and environments.
* **repeatable** - tasks are defined in a ``dobi.yaml`` so new contributers can
get started quickly, and a task will always produce the same results.
Variables are supported, but must be explicitly defined, so there's no hidden
environment variables that could change the behaviour of a task.
* **organized** - tasks can be chained together using an ``alias`` resource to
produce entire workflows like ``test`` or ``release``, which may involve
multiple independent tasks.
* **dependencies** - tasks can depend on other tasks using ``depends``. When a
task is run, its dependencies are checked first, and run if they are stale.

Install
-------

The one liner::

curl -L -o /usr/local/bin/dobi "https://github.com/dnephin/dobi/releases/download/v0.15.0/dobi-$(uname -s)"; chmod +x /usr/local/bin/dobi

For a Windows binary, and more install options, see `Install `_

Examples
--------

See `Examples `_

Documentation
-------------

See `Documentation `_

Contributing
------------

``dobi`` is still in early development. If you'd like to contribute, please open
an issue, or find an existing issue, and leave a comment saying you're working
on a feature.