Gibt es ein BuildBot -Plugin, das ein Git-Repository nach neuen Commits abfragt, wie das derzeit enthaltene changes.SVNPoller
?
Der nächste, den ich gefunden habe, ist git_buildbot.py , aber es funktioniert wie ein Post-Commit Hook, also wird nicht mit meinem Setup arbeiten (mit Github, und Buildbot auf einem Rechner, den Githubs Post-Commit nicht erreichen kann) - einfach die Abfrage des Git-Repository würde perfekt funktionieren.
Ich habe momentan eine Build-Ausführung einmal pro Stunde, aber es hat keinen Sinn, die Tests auszuführen, solange sich nicht etwas geändert hat.
Update: Die netten Leute im Buildbot-Projekt haben den GitPoller ab Version 0.8.2 zu einer offiziellen Änderungsquelle gemacht und das Original mehrfach verbessert.
Unser Unternehmen befindet sich in einer ähnlichen Situation, in der unsere Build Machines nicht von GitHubs Post-Commit Hook erreicht werden können. Ich habe eine GitPoller
change Quelle geschrieben, die wie die SVNPoller
verwendet werden kann.
Es kann hier gefunden werden: Ссылка
und so benutzt:
%Vor% Es wird ein lokales Repo erstellt, von dem aus gearbeitet werden kann (Standort konfigurierbar), und es wurde nur mit git 1.7
getestet, so dass Ihre Laufleistung variieren kann.
Hoffentlich wird es irgendwann in das eigentliche Buildbot-Projekt hineingezogen, aber es funktioniert bisher für uns und hofft, dass es für andere von Nutzen sein kann:)
Ich habe überhaupt nicht mit buildbot gespielt, aber könntest du nicht git fetch
machen und dann auf die Ausgabe von git log master..origin/master
schauen? Wenn es keine neuen Commits gibt, ist die Ausgabe leer (es gibt natürlich eine Menge anderer Optionen, die Sie für git log
verwenden können). Wenn es neue Commits gibt, dann mache einfach ein git merge
und starte deinen Build / Testzyklus.
Ich mag den gitpoller.py-Ansatz, aber im Moment fand ich ihn etwas eingeschränkt (z. B. keine Revisionen, Projektargumente), also habe ich eine andere Lösung gefunden:
Ich habe mein eigenes Repository geklont von der Remote-und git_buildbot.py von der Post-Merge-Hook aufgerufen (wie in git_buildbot.py beschrieben). Ich habe eine kleine Schleife, die schläft und in das Repo zieht, was den Post-Merge-Haken auslöst.
Tags und Links git continuous-integration buildbot