Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/jnordberg/leeroy

Docker build bot
https://github.com/jnordberg/leeroy

Last synced: 4 days ago
JSON representation

Docker build bot

Awesome Lists containing this project

README

        

leeroy
======

Docker image build bot, because Docker Hub is too slow and Jenkins sucks.

### Features

* Automatically builds and publishes Docker images for your GitHub branches
* No spawning, uses libgit2 and Docker sockets
* Safely does concurrent builds
* Reports build status via optional Slack integration
* Easy to setup

Quick start
-----------

Start a leeroy server:

```
docker run -d -p 8080:8080 --name leeroy \
-e DOCKER_AUTH="{\"username\":\"foo\",\"password\":\"bar\"}" \
-e SLACK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK/URL \
-e GITHUB_SECRET=supersecret \
-v /var/run/docker.sock:/var/run/docker.sock \
jnordberg/leeroy
```

Go to `https://github.com///settings/hooks/new` for each repository you want to build and add `/hooks/github` with the content-type `appplication/json` and secret set to the same as `GITHUB_SECRET` above.

hook

*Enjoy your fast automated builds!*

Configuration
-------------

The docker socket defaults to `/var/run/docker.sock` and can be set just like the docker cli using the `DOCKER_HOST` environment variable.

Repository authentication is passed as a JSON encoded string in `DOCKER_AUTH`.
E.g. `DOCKER_AUTH="{\"username\":\"foo\",\"password\":\"bar\"}"`

See [config/default.toml](config/default.toml) for more options and [config/custom-environment-variables.toml](config/custom-environment-variables.toml) for the corresponding env vars.

Developing
----------

Checkout the repository and run `make devserver`, see the [Makefile](Makefile) for more useful commands. Use [ngrok](https://ngrok.com) to conveniently test webhooks.

---

*At least I ain't chicken*