Da mein Speicherplatz auf GitHub auf meinem kostenlosen Konto knapp wird (ja, ich erwäge ein Upgrade), richte ich ein neues < a href="http://git-scm.com/"> git Repositories auf Gitorious (siehe auch GitHub gegen Gitorious ). Ein großes Feature von GitHub sind die Post-Commit-Hooks, mit denen ich das (auch großartige) CIA-Netzwerk benachrichtigen kann ...
Allerdings konnte ich nicht herausfinden, ob Gitorious solche Hooks unterstützt ... Daher möchte ich Best Practices für das Einholen von Commit-Nachrichten im CIA-Netzwerk für von Gitorious gehostete Git-Repositories verlangen.
Update : Die Lösung, einen sekundären Mechanismus zum Auslösen von CIA-Commit-Nachrichten zu verwenden, ist nicht das, wonach ich suche.
Anstatt direkt zu Gitorious zu wechseln, drücken Sie auf ein lokales Repository, das Sie konfiguriert haben (in seinem Post-Receive-Hook), um alles in Ihr Gitorious-Repository zu schieben und CIA zu benachrichtigen.
Gitorious bekommt Web-Hook-Unterstützung. Es läuft derzeit auf gitorious.org, aber ohne eine Benutzeroberfläche, um sie zu Ihrem Repository hinzuzufügen; Der Grund dafür ist, dass es immer noch eine oder zwei Änderungen in der JSON-Repräsentation der übergebenen Commit-Daten geben kann, daher sollte eine Beta-Funktion konfiguriert werden.
Jeder, der sich mit dem Schreiben von Integrationscode (mit gitorischen Web-Hook-Anfragen) beschäftigt, sendet bitte eine E-Mail an den Support von gitorious.org und wir richten die Integration für Ihr Repository ein
Das KDE-Projekt hatte eine ähnliche Frage in diesem Thema , mit einer interessanten Alternative:
Es muss nicht auf
gitorious.org
Maschinen laufen. Zumindest nicht für E-Mail / CIA / RSS / was auch immer BerichterstattungSo funktioniert unser alter
git-p4
hook im Büro:
Die p4-Maschine hat einUDP
-Paket mit der Revisionsnummer gesendet. Eine andere Maschine fing es und machte den Import. (Der Wert wurde verworfen)Wir könnten dasselbe tun:
- Der
gitorious.org
Rechner sendet einUDP
Paket mit die Zweige, die sich geändert haben, und ihre neueSHA-1
.- Eine andere Maschine ruft die Commit-Protokolle ab und erstellt sie.
Worst-Case-Szenario ist, dass jemand aufgrund eines verlorenenUDP
-Pakets vergessen wird.Wie ich schon sagte, funktioniert dies für das Reporting - für alles, was von einem
post-receive
hook.
Für alles, was einenpre-receive
Hook benötigt (eigentlichpre-update
, aber der Name ist falsch in Git), muss er auf seinen Servern ausgeführt werden.
Gitorious unterstützt "Web Hooks": Ссылка
Es ist ein bisschen mehr Aufwand, da Sie einen Web-Server einrichten müssen, der die API-Aufrufe von Hook empfängt.