Sign inSign up

mountainpass/dirtyci

By mountainpass

Updated over 7 years ago

It's quick, it's dirty, it's CI.

Image
0

519

mountainpass/dirtyci repository overview

DirtyCI

It's quick, it's dirty, it's CI.

Overview

Configure webhooks -> run shell scripts -> notify users. It's that simple.

Quick Start

Running docker-compose up -d will start the server running, using the sample-dirtyci project configuration.

docker-compose up -d

Please read docker-compose.yml for more information.

Configuration

TODO

Environment Configuration

The following environment variables can be used to configure the server.

  • DIRTYCI_HOME (/dirtyci) - Optional - The base folder the application runs from.
  • DIRTYCI_COOLDOWN_MS (15000) - Optional - Specifies the rate limit cooldown in milliseconds between calls (globally).
  • DIRTYCI_SLACK_WEBHOOK () - Optional - sends notifications to slack channel named 'dirtyci'.
  • DIRTYCI_EXTERNAL_URL (http://localhost:3000) - Optional - Used in slack messaging for creating 'hook' links.

Features

  • The project is written using native Node - no external dependencies required.
  • The docker image provides docker cli internally (utilising the host's docker server). Simply mount the host's /var/run/docker.sock socket into the container instance.
  • Low memory - run it in the cloud.

Docker Idle Runtime Stats

CONTAINER ID  NAME               CPU %  MEM USAGE / LIMIT    MEM %  NET I/O          BLOCK I/O  PIDS
feb6615750a2  dirtyci_dirtyci_1  0.00%  11.12MiB / 1.952GiB  0.56%  12.6kB / 7.61kB  0B / 0B    13

TODO

  • Apply cooldown per service (instead of globally)
  • Provide build example [git -> docker build -> docker push]
  • Disable slack notifications if environment variable not provided.
  • Cooldown doubles as quiet period? Allow queueing jobs? 1 running job per hook?

Tag summary

Content type

Image

Digest

Size

72.7 MB

Last updated

over 7 years ago

docker pull mountainpass/dirtyci