2015-08-20 6 views
53

Questo non è semplice come fare una build parametrizzata. Ho già un processo di compilazione specifico che creare e distribuire ogni volta che uno di questi rami sono spinti a GitHub:Jenkins - come creare un ramo specifico

enter image description here

Quindi, se ho appena spinto develop ed è costruito con successo, come faccio innescare una build manuale e tirarla su feature/my-new-feature (senza fare un git push)? Ho provato a abilitare la generazione parametrizzata, aggiungendo una nuova stringa denominata branch e quindi aggiungendo un nuovo identificatore di ramo, */$branch. Ho quindi eseguito una build e impostato branch in feature/my-new-feature e ancora estratto da develop.

Apprezzerei qualsiasi aiuto!

+0

Stai parlando github webhook. questo potrebbe risolvere il tuo problema. vuoi attivare questo da github? –

+1

No, l'integrazione con GitHub è già funzionante. Devo sapere come creare manualmente un ramo specifico. – ffxsam

+2

Ho lo stesso problema. Il lavoro è configurato per costruire diversi rami e viene attivato da un hook git. Ma quando mi piacerebbe costruire manualmente un ramo specifico (senza nuove modifiche in GIT) faccio clic su "Build now" ma si crea sempre l'ultimo ramo estratto. Ho anche provato varie proprietà di costruzione. – cornz

risposta

40

migliore soluzione può essere:

Aggiungendo un nuovo parametro stringa in ex isting lavoro enter image description here

Poi nel Source Code Management aggiornamento sezione Branches to build utilizzare parametro di stringa definito enter image description here

Questo permetterà Jenkins lavoro da utilizzare ramo predefinito come master e per manuale costruisce vi chiederà di inserire i dettagli ramo (FYI: da di default è impostato per master) enter image description here

+2

Generalmente il master di costruzione non lo taglia per una generazione di sviluppo generica che dovrebbe costruire tutti i rami di sviluppo. –

+0

Quindi è possibile aggiungere un nuovo lavoro in jenkins, ciò che questo lavoro farà è semplicemente "Trigger/call build su altri progetti" nella sezione di build con parametri predefiniti come git branch (per es .: branch = feature/test) –

+0

Potrebbe dettagli quell'idea un po 'di più? Non mi è chiaro quale progetto sarebbe stato parametrizzato. –

3

Non penso che sia possibile nello stesso lavoro jenkins, quello che devi fare è configurare un nuovo lavoro jenkins che avrà accesso al tuo github per recuperare i rami e quindi puoi scegliere quale costruire manualmente .

indicarla come una build con parametri, specificare un nome e un parametro configurato come git parameter

enter image description here

e ora è possibile configurare le opzioni git:

enter image description here

+1

Quel parametro git è un plugin jenkins ?? Non vedo l'opzione per aggiungere quel tipo di prameter. Se si tratta di un plugin, puoi indicarlo nella risposta? –

0

This is extension of answer provided by Ranjith

vorrei suggerire, di scegliere una build scelta parametri, e specificare il reggiseno nche che vorresti costruire. Active Choice Parameter

E dopo, è possibile specificare i rami da costruire. Branch to Build

Ora, quando si potrebbe costruire il progetto, si sarebbe dotato di "Costruire con i parametri, in cui è possibile scegliere il ramo di costruire"

Si può anche scrivere uno script Groovy per andare a prendere tutti i rami in un parametro di scelta attiva.

+0

Sebbene ciò possa teoricamente rispondere alla domanda, [sarebbe preferibile] (// meta.stackoverflow.com/q/8259) per includere qui le parti essenziali della risposta e fornire il link per riferimento. – GhostCat

3

Cassa ramo tramite script Jenkins utilizzare:

stage('Checkout SCM') { 
    git branch: 'branchName', credentialsId: 'your_credentials', url: "giturlrepo" 
} 
+0

So che non è esattamente la domanda, ma stavo cercando queste informazioni e Google continuava a suggerire questo sito come risposta. –