Simple app for automatization of everything
Project description
CI can be a bitch.
Jenkins is nice, but it’s Java, thus the memory consumption.
Buildbot is really hairy and weird.
Sloth CI is simple. Try it!
Installation
Sloth CI can be installed with pip:
pip install sloth-ci
This will install the Python package and add the sloth-ci shell command.
The repo is at bitbucket.org/moigagoo/sloth-ci.
Read the full documentation at sloth-ci.rtfd.org
Install provider(s)
Sloth CI listens to payload from providers to trigger your actions.
Invcoming payload form a particular provider is valiadated by the respective validator.
Validators can be installed with pip:
pip install sloth-ci.validators.bitbucket
…or:
pip install sloth-ci.validators.github
…or roll-your-own with:
pip install sloth-ci.validators.dummy
Validators are maintained in a separate repo at https://bitbucket.org/moigagoo/sloth-ci-validators.
Install app extensions
Additional functions like logging to a file and non-default executors are available via extensions.
Extensions are installed via pip:
pip install sloth-ci.ext.logs
Dummy extension (just like the Dummy validator) can be referred to while developing your own extensions:
pip install sloth-ci.ext.dummy
Extensions are maintained in a separate repo at https://bitbucket.org/moigagoo/sloth-ci-extensions.
Usage
Use the sloth-ci command to launch Sloth CI:
sloth-ci [-h] [--sconfig SCONFIG] [--host HOST] [--port PORT] [--log_dir LOG_DIR] config [config ...] positional arguments: config Sloth app config(s); config per app. optional arguments: -h, --help show help message and exit --sconfig SCONFIG Server config --host HOST Host for the Sloth server (overrides value in sconfig) --port PORT Port for the Sloth server (overrides value in sconfig) --log_dir LOG_DIR Where the log files should be stored (overrides value in sconfig)
Server Config Example
host = 0.0.0.0 port = 8080 log_dir = /var/log/sloth/
Sloth App Config Example
listen_to = sloth-listener work_dir = /home/sloth/my_project exec_timeout = 5 provider = bitbucket stop_on_first_fail = True [provider_data] repo = moigagoo/sloth-ci [params] foo = bar [actions] echo Got a commit to {branch} echo {foo}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.