Ich beginne die Arbeit an einem Hobby-Projekt mit einer Python-Codebasis und möchte eine Art von kontinuierlicher Integration einrichten (dh jedes Mal, wenn ein Check-In gemacht wird, eine Batterie von Testfällen) und versenden nag E-Mails an verantwortliche Personen, wenn die Tests fehlschlagen) ähnlich wie CruiseControl oder TeamCity.Continuous Integration System für eine Python Codebase
Ich weiß, ich könnte dies mit Hooks in den meisten VCSes tun, aber das erfordert, dass die Tests auf dem gleichen Computer wie der Versionskontrollserver ausgeführt werden, die nicht so elegant ist, wie ich möchte. Hat jemand irgendwelche Vorschläge für ein kleines, benutzerfreundliches Open-Source-System für die kontinuierliche Integration, das für eine Python-Codebasis geeignet ist?
@ Joe, g ood Empfehlung. @Matt Lassen Sie sich nicht von der Tatsache, dass Hudson in Java geschrieben ist, abschrecken, wenn Sie ein Python-Typ sind. Es ist tot einfach einzurichten und auszuführen. Es integriert sich in pylint und coverage.py. Ich lasse es auf meinen Projekten laufen und liebe es. Es ist viel einfacher, dass BuildBot. Um es einzurichten und Hudson auszuführen, ist es ein Befehl. java -jar hudson.war Hier ist der beste Beitrag, den ich für die Einrichtung gesehen habe: http://www.rhonabwy.com/wp/2009/11/04/setting-up-a-python-ci -server-with-hudson/ –
Hudson, der in Java geschrieben wird, ist so relevant wie Ihr Editor, den Sie in C++ geschrieben haben! Es ist einfach ein sehr gut geschriebenes, einfach zu installierendes und allgemein voll funktionsfähiges CI-Tool. Python kann sehr gut integriert werden, 'nosetests - with-xunit --with-coverage', pylint mit den Plugins" Violations "und" Cobertura "für Coverage – dbr
@dbr: Nicht ganz richtig. Die Sprache, in der etwas geschrieben wird, beeinflusst oft die Software, mit der es am besten funktioniert ... insbesondere Systeme zu bauen. Als ich vor 2 Jahren Hudson anschaute, wollte ich Unit-Test-Ausgabe nur im JUnit-XML-Format; Meine Python-Unit-Testsuite hat das nicht getan.Aber wenn mein Projekt in Java wäre, hätte es aus der Box heraus funktioniert. Wie dem auch sei, es sieht so aus, als ob die Integration seither sowohl in Hudson als auch in Pythons Tools einen langen Weg zurückgelegt hat, und dafür bin ich dankbar. –