[Work In Progress] A simple continuous integration server written with Django.
Don't use it unless you're interested in contributing. In which case, see below.
- Support for major DVCSs
- Build axes ala Jenkins
- Branch support
- Xunit, Cobertura reports. Stats porn.
- Comprehensive, read-write, HTTP API
- Real-time endpoint. No plugins.
- Python
- Django
- SQL (Django ORM)
- Redis
- Celery
Add to your ~/.virtualenvs/postactivate
:
export GEM_HOME="$VIRTUAL_ENV/gems"
export GEM_PATH=""
export PATH=$PATH:$GEM_HOME/bin
Setup your environment:
git clone git://github.com/brutasse/ci.git
cd ci
# Python environment
mkvirtualenv --no-site-packages --python python2 ci
workon ci
add2virtualenv .
pip install -U pip
pip install -r requirements.txt
# Ruby tools -- foreman / compass
gem install bundle
bundle install
# Create the development database
make db
Get gorun.
Run all the things:
make run
This will run:
- Django's runserver
- The Celery worker(s)
- Compass for compiling the CSS
- Gorun for running the tests when code changes (linux-only, cross-platform and native alternatives are welcome)
To run the local test suite, do:
make tests
The local tests are only mostly local, you need an internet connection for all tests to pass.
To run the "live" tests (they make actual clones and builds from the internet):
make livetests