Abbiamo un lavoro Jenkins che costruisce ogni ramo tranne padrone quando ci sono nuovi commit. Questo comportamento può essere configurato tramite 'scelta strategia: inversa' del plugin git in modo che ascolti ogni ramo eccetto un ramo specificato.Come recuperare il nome del ramo git che è stato costruito da Jenkins quando si utilizza inversa strategia di selezione ramo?
Questo funziona molto bene. Ma il problema è che la variabile d'ambiente GIT_BRANCH fa sempre riferimento al ramo escluso ('origine/master' nel nostro caso). Come interrogare il ramo reale che è stato costruito da Jenkins?
Attualmente sto usando una soluzione che ho grep da changelog.xml generato. Ma a volte capita che changelog.xml sia vuoto quando Jenkins passa tra diversi rami e non riesco a trovare queste informazioni. Qual è il modo corretto di recuperare/interrogare da Jenkins il ramo che è stato effettivamente costruito?
Grazie Carlo. Funziona in una normale area di lavoro git ma non in un'area di lavoro jenkins in cui il comando non restituisce nulla. L'esecuzione di 'git branch' nello spazio di lavoro di jenkins restituisce '* (no branch)'. Probabilmente il ramo scelto deve essere interrogato da Jenkins in qualche modo in quanto sembra effettuare il checkout basato su commit-id nel ramo scelto. – harish
Sì, Jenkins lavora in TESTA distaccata. vedi la mia modifica e la risposta collegata. Sono sicuro che uno dei comandi collegati in esso dovrebbe funzionare. – CharlesB
Questo comando funziona in CMD, ma non nel mio Jenkins, perché? C: \ Tools \ Jenkins \ jobs \ DevOps \ jobs \ Test-GitHub \ workspace> git --version git versione 2.7.0.windows.1 C: \ Tools \ Jenkins \ jobs \ DevOps \ jobs \ Test-GitHub \ workspace> git symbolic-ref -q --short HEAD C: \ Tools \ Jenkins \ jobs \ DevOps \ jobs \ Test-GitHub \ workspace > exit 1 Passo di costruzione 'Esegui comando batch di Windows' contrassegnato come compilato come fallimento Terminato: FAILURE –