Sloth CI

Latest VersionDownloadsLicenseChat on Skype

Sloth CI is a Python-based continuous integration and delivery tool that runs shell commands when you push to GitHub, Bitbucket, or GitLab. It may be building the docs, running tests, or deploying an app in a Docker container—you tell Sloth CI what to do.

Sloth CI offers detailed logs, build status badges, email notifications, and webhooks via extensions. Unlike Jenkins, Sloth CI does not have a web interface. Instead, you control it via command line or web API. Sloth CI is also much lighter than Jenkins in terms of memory usage.

Quickstart

  1. Install Sloth CI with pip:

    $ pip install sloth-ci
    $ pip install colorama # Optional, for colored logs output
    

    Sloth CI requires Python 3.4+ and works on Linux, Windows, and Mac OS X.

  2. Create a file sloth.yml (called server config) with the following content:

    host: localhost
    port: 8080
    
    auth:
        login: myname
        password: mypass
    
  3. Run sci start:

    $ sci start &
    Starting Sloth CI on http://localhost:8080
    

    Go to http://localhost:8080?action=version in your browser and enter “myname” and “mypass” as login and password. You should see the Sloth CI version:

    _images/check-version.png
  4. Now let’s create a simple app that will just append the current date and time to a particular file when triggered. Create a file timestamper.yml (called app config):

    # Sloth CI app that appends the current timestamp
    # to a file when triggered.
    
    id: timestamper
    
    actions:
        - date >> timestamps.txt
    
  5. Run sci create timestamper.yml:

    $ sci create timestamper.yml
    App "timestamper" created
    App "timestamper" bound with config file "/path/to/timestamper.yml"
    
  6. Trigger the app with sci run timestamper:

    $ sci run timestamper
    Actions triggered on timestamper
    
    $ cat timestamps.txt
    Fri Feb 27 1:31:33 2016