Il plugin git per hudson funziona bene. Tuttavia, lo script di build deve aggiornare un numero di versione nei file nel repository, eseguire il commit e tornare al repository.Polling infinito del ciclo Hudson per le modifiche nel repository Git?
Quando Hudson esegue il polling successivo per verificare le modifiche, entra in un ciclo infinito perché vede che il commit viene modificato come un "cambiamento", che impegna una modifica, quindi crea nuovamente, quindi commette un altro cambiamento, ecc. .. hai capito l'idea
mi si è fermato, gestiva un "git log" in ogni repository e confrontato le ultime commit ID sono esattamente la stessa cosa usando git ls-albero di testa
Inoltre, Hudson corre questo comando per verificare le modifiche:
git fetch + refs/teste/: refs/telecomandi/origine/ git ls-albero di testa
dal Hudson sé spinto il commit dalla repository di lavoro, ea quanto pare la partita risultati ls-albero, come può questo comando determina che c'è stato un cambiamento?
Sembra che debba memorizzare i risultati di ls-tree prima di eseguire la compilazione e confrontarsi con quello che non avrà l'ultimo commit. Ah. Posso provare a disattivare il commit per testare quella teoria.
In ogni caso, invece di risolvere qualsiasi problema nel plugin git Hudson, cosa posso fare per assicurarsi che alla fine della mia generazione che i pronti contro termine sono identici e che Hudson vedrà così.
Come risolvere il problema? Qualche idea?
Wayne
Abbastanza sicuro. Quando il commit è commentato in modo che lo script spinga solo in alcuni repository, funziona correttamente. Cioè, Hudson riconosce che si sono verificati zero cambiamenti e attende cambiamenti senza loop. Così come fermare il ciclo infinito. Sembra che il plugin git per Hudson salvi lo stato repo dopo il recupero iniziale per la build. Ma sembra che dovrebbe salvare di nuovo lo stato del repository dopo una build di successo nel caso in cui la build abbia fatto un commit - o almeno lo abbia fornito come opzione. Qualsiasi organismo ha un'idea più facile e veloce per risolvere questo problema? – Wayne
Oh, ho trovato un fork del plugin git-hudson su github dove qualcun altro sembra aver già aggiunto la gestione di questa situazione. Sto scaricando e costruendo e lo proverò. Ancora una volta se qualcuno ha una soluzione migliore, si prega di avvisare. Pubblicherò di nuovo se questo lo risolve. – Wayne