"Pretty" Continuous Integration for Python
Posted
by dbr
on Stack Overflow
See other posts from Stack Overflow
or by dbr
Published on 2008-10-22T12:49:54Z
Indexed on
2010/03/29
4:13 UTC
Read the original article
Hit count: 689
continuous-integration
|python
This is a slightly.. vain question, but BuildBot's output isn't particularly nice to look at..
For example, compared to..
..and others, BuildBot looks rather.. archaic
I'm currently playing with Hudson, but it is very Java-centric (although with this guide, I found it easier to setup than BuildBot, and produced more info)
Basically: is there any Continuous Integration systems aimed at python, that produce lots of shiney graphs and the likes?
Update: After trying a few alternatives, I think I'll stick with Hudson. Integrity was nice and simple, but quite limited. I think Buildbot is better suited to having numerous build-slaves, rather than everything running on a single machine like I was using it.
Setting Hudson up for a Python project was pretty simple:
- Download Hudson from https://hudson.dev.java.net/
- Run it with
java -jar hudson.war
- Open the web interface on the default address of http://localhost:8080
- Go to Manage Hudson, Plugins, click "Update" or similar
- Install the Git plugin (I had to set the
git
path in the Hudson global preferences) - Create a new project, enter the repository, SCM polling intervals and so on
- Install
nosetests
viaeasy_install
if it's not already - In the a build step, add
nosetests --with-xunit --verbose
- Check "Publish JUnit test result report" and set "Test report XMLs" to
**/nosetests.xml
That's all that's required. You can setup email notifications, and the plugins are worth a look. A few I'm currently using for Python projects:
- SLOCCount plugin to count lines of code (and graph it!) - you need to install sloccount separately
- Violations to parse the PyLint output (you can setup warning thresholds, graph the number of violations over each build)
- Cobertura can parse the coverage.py output. Nosetest can gather coverage while running your tests, using
nosetests --with-coverage
(this writes the output to**/coverage.xml
)
© Stack Overflow or respective owner