Domanda

Sto ottenendo appena iniziato ad usare GitHub, Gerrit, e Hudson (Jenkins) insieme. E ho bisogno di alcune riflessioni sul flusso di lavoro.

Vorremmo usare GitHub come il nostro principale repo remoto. Vorremmo utilizzare Gerrit in primo luogo per le revisioni del codice, ma anche per i trigger costruire in Hudson.

Al momento, però, sto avendo qualche difficoltà nel pensare attraverso il flusso di lavoro per questo e vorrei sentire ciò che gli altri hanno fatto loro stessi. Pensieri?

È stato utile?

Soluzione

Non ho usato direttamente Gerrit, ma mi piace l'idea di intermedio e specializzata repo tra:

  • repos del vostro sviluppatore
  • centrale GitHub remoto repo

Quindi è necessario determinare ciò che si desidera pubblicare nel repository GitHub a distanza:

  • codice da recensione (che significa una webapp Gerrit locale tirava il codice GitHub per esaminare)
  • codice che è stato rivisto (nel senso di pubblicare prima i vostri commit a Gerrit, e dopo la revisione del codice, che li spinge a GitHub)

Il secondo flusso di lavoro è più vicino a quello che Google Android Progetti segue con Gerrit .

In entrambi i casi, è necessario un repo locale intermedio per Gerrit esaminare.

Altri suggerimenti

Stiamo usando github , Gerrit e Jenkins (successore di Hudson ). Leghiamo insieme a Redmine per Bugtracking.

Prima di Gerrit, stavamo usando github come repository di sviluppo primario e gli sviluppatori hanno avuto accesso commit. Ora che abbiamo in esecuzione Gerrit, GitHub è utilizzato solo come il nostro pubblicare repository e solo l'utente ha accesso a Gerrit spinta a github.

flusso di lavoro:

  1. controlli sviluppatori fuori fonte da github.
  2. sviluppatore apporta modifiche.
  3. sviluppatore spinge a Gerrit.
  4. Gerrit invia avviso di modifica di Jenkins per test di integrazione.
    • Jenkins tira modifiche direttamente dal server git Gerrit.
    • il passaggio, Jenkins aggiunge +1 a revisione Gerrit, passa opinione a altri sviluppatori.
    • il fallimento, Jenkins aggiunge -1 a revisione Gerrit
    • pass / fail stato spinto a redmine
  5. altro cambiamento sviluppatori revisione, l'approvazione (2)
  6. commit Gerrit cambia in Github repository.
    • GitHub Notifica gancio Redmine degli aggiornamenti.
    • redmine estrae i cambiamenti da GitHub, analizza impegnano i messaggi per informazioni sui biglietti.
  7. fetchs sviluppatori passa da GitHub ... Torna a 2. [EDIT]: siamo passati a tirare direttamente da Gerrit. Github rimane come uno specchio per tirare fonti di produzione.

pezzi mancanti:

  1. Gerrit opinione a / da bug tracking .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top