Dies ist eine etwas .. vergeblich Frage, aber BuildBot des Ausgang ist nicht besonders schön zu sehen .."Pretty" Continuous Integration für Python
Zum Beispiel im Vergleich zu ..
..und andere, BuildBot sieht eher .. archaischen
ich zur Zeit mit Hudson zu spielen, aber es ist sehr Java-centric (obwohl mit this guide, fand ich es einrichten leichter als BuildBot, und produziert mehr Info)
Grundsätzlich: Gibt es Continuous Integration Systeme für Python, die viele glänzende Grafiken und dergleichen produzieren?
Update: Seit dieser Zeit ist das Jenkins Projekt Hudson als Community-Version des Pakets ersetzt hat. Die ursprünglichen Autoren sind ebenfalls zu diesem Projekt übergegangen. Jenkins ist jetzt ein Standardpaket für Ubuntu/Debian, RedHat/Fedora/CentOS und andere. Das folgende Update ist immer noch im Wesentlichen korrekt. Der Ausgangspunkt, dies mit Jenkins zu tun, ist anders.
Update: ein paar Alternativen Nach dem Versuch, ich glaube, ich mit Hudson bleiben werde. Integrity war nett und einfach, aber ziemlich begrenzt. Ich denke, Buildbot ist besser dafür geeignet, zahlreiche Build-Slaves zu haben, als dass alles auf einer einzigen Maschine läuft, so wie ich es benutzt habe.
Einstellung Hudson für ein Python-Projekt war ziemlich einfach:
- herunterladen Hudson von http://hudson-ci.org/
- Run mit
java -jar hudson.war
- Öffnen der Web-Oberfläche auf der Standardadresse
http://localhost:8080
- Zur Hudson, Plugins, klicken Sie auf "Update" oder ähnliches
- Installieren Sie das Git-Plugin (Ich musste
git
Pfad in den Hudson globalen Voreinstellungen) - Erstellen Sie ein neues Projekt, geben Sie das Repository, SCM Abfrageintervalle und so weiter
- installieren
nosetests
übereasy_install
wenn es nicht bereits ist - Im ein Build Schritt fügen
nosetests --with-xunit --verbose
- Check „JUnit Testergebnis Bericht Publish“ und „Prüfbericht XMLs“ zu
**/nosetests.xml
eingestellt, dass ist alles, was erforderlich ist.Sie können E-Mail-Benachrichtigungen einrichten, und the plugins sind einen Blick wert. Ein paar ich bin derzeit für Python-Projekte: (! Und Graph es)
- SLOCCount plugin Zeilen Code zu zählen - Sie sloccount separat
- Violations zu analysieren, um die PyLint Ausgabe installieren müssen (können Sie Setup Warnung Schwellenwerte, grafisch die Anzahl der Verstöße bei jedem Build)
- Cobertura kann die Ausgabe von coverage.py analysieren. Nosetest kann Abdeckung sammeln, während die Tests ausgeführt wird, unter Verwendung von
nosetests --with-coverage
(dies schreibt die Ausgabe in**/coverage.xml
)
Große Frage, ich bin gerade in ähnlichen Dingen suchen. Wenn Sie einen Weg gehen, können Sie Ihre Erfahrung mit dem Rest von uns teilen? –
Ich weiß nicht, ob es verfügbar war, als du das geschrieben hast: Benutze das Chuck Norris Plugin für Hudson, um die Kontrolle über deine Sachen weiter zu verbessern! –
** Update für 2011/2012 **: Diejenigen, die Hudson in Betracht ziehen, sollten [Jenkins] (http://jenkins-ci.org/) verwenden, die Open-Source-Fortsetzung des Hudson-Projekts (Hudson wird jetzt [von Oracle kontrolliert] (http://stackoverflow.com/questions/4973981/how-to-choose-between-hudson-and-jenkins)) – mindthief