Home

Awesome

<img src="http://cdn2-cloud66-com.s3.amazonaws.com/images/oss-sponsorship.png" width=150/>

Habitus

Habitus adds workflows to Docker build. This means you can create a chain of builds to generate your final Docker image based on a workflow. This is particularly useful if your code is in compiled languages like Java or Go or if you need to use secrets like SSH keys during the build.

Logo habitus A build flow tool for Docker

Habitus is a standalone build flow tool for Docker. It’s a command line tool that builds Docker images based on their Dockerfile and a build.yml.

Key features:


Why Habitus? (Problem → solution)


Documentations:


Comprehensive documentation is available on the Habitus website:

https://help.cloud66.com/habitus/

Quick Start:


Just run the install script on macOS or Linux!

curl -sSL https://raw.githubusercontent.com/cloud66/habitus/master/habitus_install.sh | bash

Or download Habitus straight from this repo. Habitus can run on Linux, Windows and macOS. Copy the Habitus application into /usr/local/bin/habitus and check if it has the executable flags, if not run chmod a+x /usr/local/bin/habitus

Build files can be made up of multiple steps. Each step is independent of the other ones and downstream steps can use upstream ones as source (in FROM command). When habitus is installed, create a simple build.yml with just one build step and run Habitus.

build:
  version: 2016-03-14 # version of the build schema.
  steps:
    builder:
      name: builder
      dockerfile: Dockerfile

Run habitus

# habitus

And you’re ready to start using Habitus. Comprehensive documentation about build.yml is available on the Habitus website: https://help.cloud66.com/habitus/

Developing Habitus:


If you wish to work on the Habitus project itself. We provided a docker-compose.yml to spin up the development environment and link the source into the running container.

# docker-compose run habitus /bin/bash
# go build

After the build, you can use Habitus to build itself using the following command in the running container:

# ./habitus

You can run tests by typing

# docker-compose run habitus /bin/bash
# go test    

And you are ready to start your contribution to Habitus.

CHANGELOG

Check the changelog here