1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- 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
|