説明なし

Oz N Tiram 47f060375d An executed task can't access the request object 9 年 前
docs 5bb961a672 Add example Makefile 9 年 前
frank 47f060375d An executed task can't access the request object 9 年 前
hooks 48d7478b58 GITURL -> ssh_url 9 年 前
test c3d5375793 add a fancy test script for post-update hook 9 年 前
.gitignore 0c547446a7 add .gitignore 9 年 前
Makefile bec9bc336c update make target 9 年 前
README.rst 9362dcf300 add running of python code and testing it 9 年 前
requirements.txt a19a398ad3 Add huey to requirements 9 年 前
setup.py 8f79040916 Start working on a decent command line interface 9 年 前
test_requirements.txt 49a1dd71e5 initial commit 9 年 前

README.rst

Frank CI
========

Frank CI aims to be a minimal (but smart) continuous integration system.

To get started you simply deploy from with a WSGI server (e.g NGNIX) and configure
your git repository (github and others) to post a load after each push.

If your repository includes a top level file called `.frank.yaml` your
frank instance will react uppon the commands found in the file.

Frank commands
--------------

Frank understands the following file format::

.. text: yaml

commands:
- do_this
- do_that
- run_function_python
- deploy_there

do_this:
- shell: echo "this"

do_that:
shell:
- cd foo
- touch bar.txt

run_function_python:
python:
- foo.bar:callable_object


The `commands` is a mandatory list of commnads to excute after each push.
The order of the commands is how the will be executed.

Following the key `commands` are definitions of each command. Command can
by eith `shell` commands or some callable python object when specified as `python`
and given with full import path `foo.bar` and following callable object after
the collon.


Example 1:
----------
The following example will run the tests, build sphinx documentation and
publish static HTML files via rsync to another server::

.. text: yaml

commads:
- test
- build_sphinx
- publish

test:
shell:
- pip install -e .
- python setup.py test

build_sphinx:
shell:
cwd: docs
cmd: make html

publish:
shell:
- rsync -avz docs/build/html/ docserver.company.com:/var/www/docs/

This example demonstrates running multiple commands after the keyword `shell`.
You can also specify any keyword that the function `subprocess.Popen` accepts.
For example you can specify envirnment variables or the working directroy, as
in the example with the keyword `cwd`.

Example 2:
----------
TODO: demonstrate running of python code