Metadata-Version: 2.0
Name: sloth-ci
Version: 1.2.1
Summary: Simple app for automatization of everything
Home-page: https://bitbucket.org/moigagoo/sloth-ci
Author: Konstantin Molchanov
Author-email: moigagoo@live.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Unix
Classifier: Framework :: CherryPy
Requires-Dist: CherryPy
Requires-Dist: Routes
Requires-Dist: awesome-slugify
Requires-Dist: PyYAML
Requires-Dist: requests
Requires-Dist: docopt
Requires-Dist: tabulate
Requires-Dist: colorama
Provides-Extra: Logs
Requires-Dist: sloth-ci.ext.logs; extra == 'Logs'

***********************
Sloth CI: CI for Humans
***********************

.. image:: https://pypip.in/version/sloth-ci/badge.svg
    :target: https://pypi.python.org/pypi/sloth-ci/
    :alt: Latest Version

.. image:: https://pypip.in/download/sloth-ci/badge.svg
    :target: https://pypi.python.org/pypi/sloth-ci/
    :alt: Downloads

.. image:: https://pypip.in/py_versions/sloth-ci/badge.svg
    :target: https://pypi.python.org/pypi/sloth-ci/
    :alt: Supported Python Versions

.. image:: https://pypip.in/wheel/sloth-ci/badge.svg
    :target: https://pypi.python.org/pypi/sloth-ci/
    :alt: Wheel Status

.. image:: https://pypip.in/status/sloth-ci/badge.svg
    :target: https://pypi.python.org/pypi/sloth-ci/
    :alt: Development Status

Sloth CI is an easy-to-use, lightweight, extendable tool that executes actions you need when certain events happen.

Sloth CI was created because Jenkins is too heavy and Buildbot was too hard to learn.

Read the docs at http://sloth-ci.cloudapp.net/ (yes, they are built with Sloth CI).

Requirements
============

Sloth CI runs with Python 3 on Windows, Linux, and Mac.

Install
=======

Install Sloth CI and the Bitbucket validator with pip:

.. code-block:: bash

    $ pip install sloth-ci sloth-ci.validators.bitbucket

Configure
=========

Create a file named *sloth.yml* in any directory and cd to that directory.

Here's how your *sloth.yml* can look like:

.. code-block:: yaml

    host: localhost
    port: 8080

    daemon: true

    paths:
        access_log: /var/log/sloth-ci/_access.log
        error_log: /var/log/sloth-ci/_error.log
        db: /etc/sloth-ci/sloth.db

    api_auth:
        login: admin
        password: supersecret

Start
=====

Start the Sloth CI server with:

.. code-block:: bash

   $ sloth-ci start

Create App
==========

Create a file called *myapp.yml*:

.. code-block:: yaml

    listen_point: docs

    work_dir: ~/projects

    provider:
        bitbucket:
            repo: username/repository

    actions:
        - rm -rf repository
        - hg clone https://bitbucket.org/username/repository
        - hg up {branch} --cwd repository
        - pip3 install -U sphinx
        - pip3 install -r repository/docs/requirements.txt
        - sphinx-build -aE repository/docs/ {output}/{branch}

    params:
        output: /var/www/html

Create the app from the config:

.. code-block:: bash

    $ sloth-ci create /path/to/myapp.yml
    App created, listening on docs

.. note:: Run ``sloth-ci create`` from the directory with the sloth.yml file.

That's it! Your app now listens for payload from Bitbucket at http://yourdomain:8080/docs.

Create a hook on Bitbucket, and you docs will be automatically built on every push to the repo.

