2011-08-23 7 views
24

Jenkins supporta le configurazioni parametrizzate.Posso ottenere Jenkins per creare un tag git da un parametro passato?

Ho un build di implementazione che richiede che il tag da distribuire sia specificato tramite un parametro. (per distribuire un determinato tag alla produzione)

C'è un modo semplice per farlo con il plugin git?

Ho provato ad aggiungere un parametro TAG_NAME e quindi impostare branch_specifier nella sezione del plug-in git del lavoro su $ TAG_NAME. Dosen't lavoro. Ottengo:

ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job. 

Qualche idea?

risposta

21

Rendi la configurazione parametrizzata e nella casella dell'URL git, inserisci il nome della variabile che hai definito. Ad esempio: $ {GIT_URL}. Questo dovrebbe farlo.

+0

cool, le parentesi graffe erano ciò che mi mancava. Saluti. – dalyons

+0

Heh! Sono contento di sentire che ha risolto il problema! :) – carlspring

+2

Per curiosità, quale sarebbe la variabile $ {GIT_URL} come se il tag fosse specificato come parametro? Sono nuovo a Jenkins + Git, mi dispiace per la domanda stupida. – paxos1977

10

Salirà argomento oooold, poiché questo è in cima a Google. Abbiamo passato un po 'di tempo su questa domanda ... Risposta breve: Plugin estensibile di scelta + script groovy. Ciò consente di creare un menu a discesa già riempito con tag esistenti.

def gettags = "git ls-remote -t [email protected]:mycompany/com.someproject.git".execute() 
def tags = [] 
def t1 = [] 
gettags.text.eachLine {tags.add(it)} 
for(i in tags) 
    t1.add(i.split()[1].replaceAll('\\^\\{\\}', '').replaceAll('refs/tags/', '')) 
t1 = t1.unique() 
return t1 

Risposta lunga here

+0

Questo non funziona per me. Proprio come con Git Parameter Plugin, non credo che questo plugin tenga conto delle credenziali SSH. In ogni caso non ottengo alcun elemento nell'elenco a discesa. –

+0

La riga che inizia con 'def gettags' non funziona per me perché git non sa di SSH e non posso aggiungere un file' .ssh/config' all'utente jenkins. Vedere la mia risposta a http://stackoverflow.com/questions/28543482/jenkins-git-parameter-plugin-cannot-fetch-tags –

9

C'è Git Parameter Plugin, che ti permette di fare esattamente questo:

Questo plugin permette di assegnare tag git o numero di revisione come parametro parametrizzate costruisce. Non è necessario impostare nulla di speciale , questo plugin leggerà la configurazione predefinita dal plugin Git .

+0

sto provando a usare il plugin Git Parameter, ma per v 0.3.2 non funziona per release (sha1 di repo) – kikicarbonell

+0

Sto usando la versione 0.4.0 del plug-in Git Parameter, ma non sembra utilizzare le credenziali SSH per il server git, quindi si sbaglia quando tenta di recuperare tutti i tag git. Vedi http://stackoverflow.com/questions/28543482/jenkins-git-parameter-plugin-cannot-fetch-tags –

+0

Non riuscivo a farlo funzionare così ho usato il plug-in Extensible Choice e uno script PHP, vedere la mia risposta alla domanda collegata. –