Frage

Ich bin gerade erst begonnen mit GitHub, Gerrit und Hudson (Jenkins) zusammen. Und ich brauche ein paar Gedanken über den Arbeitsablauf.

Wir möchten GitHub als unsere Remote-Repo verwenden. Wir möchten, dass Gerrit verwenden in erster Linie für Code-Reviews, sondern auch für die Build-Trigger in Hudson.

Im Moment aber ich habe einige Mühe Denken über den Workflow für diesen und würde gerne hören, was andere haben sie getan. Gedanken?

War es hilfreich?

Lösung

Ich habe nicht direkt verwendet Gerrit, aber ich mag die Idee von Zwischen- und spezialisierten Repo zwischen:

  • Ihre Entwickler repos
  • die zentrale Fern GitHub Repo

So müssen Sie bestimmen, was Sie in der Remote-GitHub Repo veröffentlichen möchten:

  • Code überprüft werden (eine lokale Gerrit Webapp Sinn würde die GitHub Code ziehen zu untersuchen)
  • Code, der überprüft wurde (was bedeutet, Sie zuerst Ihre Commits Gerrit veröffentlichen und nach Code-Review, führt man sie direkt zu GitHub)

Der zweite Workflow ist näher an, was Google Android Projekte folgt mit Gerrit .

In beiden Fällen wird ein Zwischen lokalen Repo für Gerrit zu untersuchen, benötigt wird.

Andere Tipps

Wir verwenden Github , gerrit und jenkins (Nachfolger von hudson ). Wir binden sie zusammen mit redmine für Bugtracking.

Vor gerrit, wir wurden mit Github als primäre Entwicklungs-Repository und Entwickler Zugang zu begehen hatten. Nun, da wir gerrit läuft, Github nur als unsere veröffentlichen Repository verwendet wird und nur der gerrit Benutzer hat Zugriff auf Push-to-Github.

Workflow:

  1. Entwickler checkt Quelle von Github.
  2. Entwickler macht Änderungen.
  3. Entwickler schiebt gerrit.
  4. gerrit sendet Änderungsmitteilung an jenkins für Integrationstest.
    • jenkins zieht wechselt direkt von gerrit git-Server.
    • auf Pass jenkins fügt +1 zu gerrit Bewertung gelangt Beitrag zu anderen Entwicklern.
    • bei einem Fehler, jenkins fügt -1 bis gerrit Bewertung
    • Pass / Fail-Status redmine gedrückt
  5. andere Entwickler Überprüfung ändern, zu genehmigen (+2)
  6. gerrit Commits Änderungen Repository GitHub.
    • Github Haken meldet redmine von Updates.
    • redmine zieht Änderungen von Github, Parsen Nachrichten für Ticketinformationen zu begehen.
  7. Entwickler fetchs Änderungen von Github ... zurück zu 2. [EDIT]: wechselten wir direkt von gerrit zu ziehen. Github bleibt als Spiegel Produktionsquellen zu ziehen.

Fehlende Teile:

  1. gerrit Beitrag zu / von Bug-Tracking- zu binden .
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top