Continuous Integration System for a Python Codebase
I am beginning to work with a leisure activity task with a Python codebase and also I would love to set up some kind of continuous integration (i.e. running a battery of test-cases each time a check-in is made and also sending out nag emails to liable individuals when the examinations fall short ) comparable to CruiseControl or TeamCity .
I understand I can do this with incorporate the majority of VCSes , yet that calls for that the trial run on the very same equipment as the variation control web server, which isn't as classy as I would certainly such as. Does any person have any kind of pointers for a tiny, straightforward, open-source continuous integration system ideal for a Python codebase?
One opportunity is Hudson. It's created in Java, yet there's assimilation with Python tasks:
I've never ever attempted it myself, nonetheless.
( Update , Sept. 2011 : After a hallmark disagreement Hudson has actually been relabelled to Jenkins.)
We run Buildbot - Trac at the workplace. I have not utilized it way too much given that my codebase isn't component of the release cycle yet. Yet we run the examinations on various settings (OSX/Linux/Win) and also it sends out e-mails-- and also it's created in Python.
Second the Buildbot - Trac assimilation. You can locate even more details concerning the assimilation on the Buildbot website. At my previous work, we created and also made use of the plugin they state (tracbb). What the plugin does is revising every one of the Buildbot links so you can make use of Buildbot from within Trac. (http://example.com/tracbb).
The actually wonderful feature of Buildbot is that the arrangement is created in Python. You can incorporate your very own Python code straight to the arrangement. It's additionally really simple to write your very own BuildSteps to execute details jobs.
We made use of BuildSteps to get the resource from SVN, draw the dependences, release examination outcomes to WebDAV, etcetera.
I created an X10 user interface so we can send signals with construct outcomes. When the construct fallen short, we activated a red lava light. When the construct done well, an environment-friendly lava light activated. Great times : -)