2013-10-02 13 views
5

Ho due build Jenkins, uno per la compilazione e uno per la distribuzione.Elenco dei parametri in Jenkins per visualizzare l'elenco dei numeri di build di un'altra build

Lo sviluppatore vuole essere in grado di scegliere una build dal build del compilatore durante l'esecuzione della build di distribuzione, non sempre esegue la build più recente.

Quello che trovo dopo è un metodo di compilazione di un parametro di scelta per la build di distribuzione con un elenco di build \ unstable di successo dalla compilazione di compilazione.

Verrà quindi utilizzata l'opzione elencata nel parametro per distribuire tale artefatto.

risposta

0

Un'opzione è utilizzare lo Promoted Builds plugin per contrassegnare una build specifica da distribuire. Ciò sposta la scelta dalla build di distribuzione alla compilazione. Selezionare la build Promuovi build quando ... nella compilation e impostare come si desidera che la promozione funzioni. Lo sviluppatore potrebbe scegliere (o automatizzare) la build da promuovere. Nella build di distribuzione, lo Copy Artifact plugin può acquisire la build appropriata (in base a un permalink all'ultima build promossa).

+0

Il caso d'uso di una distribuzione per costruire sembra essere coperto con questo scenario. Nella mia azienda disponiamo di diversi ambienti di sviluppo che potrebbero richiedere o meno una distribuzione. Inoltre, a volte potrebbe essere necessario distribuire una particolare build più di una volta in un ambiente. Sono scettico sul fatto che questo scenario sia coperto dalla tua soluzione. –

+0

@Peter, d'accordo. Utilizziamo build promossi per casi semplici e una procedura di rilascio per la pubblicazione di build differenti, ma non abbiamo la complessità di distribuzione che hai descritto. –

1

Per quanto ne so, non è possibile popolare il parametro di scelta. Tuttavia, non è necessario utilizzare sempre la build più recente. Suppongo che tu usi lo copy artifact plugin. Questo plugin fornisce il parametro "Build selector for Copy Artifact". È comunque necessario inserire manualmente il numero di build, ma quando si esegue la distribuzione si hanno tutte le scelte standard, come "Ultima build di successo", ma anche "Build specifico". Devi inserire il numero e non avere un menu a discesa, ma i miei distributori hanno ricevuto una formazione sufficiente per inserire il numero di build.

9

Utilizzando la Dynamic Parameters plugin

nel tuo lavoro di promuovere:

  • [x] Questa build è parametrizzato
  • Aggiungi parametro
  • dinamica Scelta dei parametri
  • Imposta nome a tutto ciò
  • Incolla sotto in Scelte Script
import jenkins.model.Jenkins 
import hudson.model.AbstractProject 
import hudson.model.Result 
import hudson.util.RunList 

AbstractProject<?, ?> otherJob = Jenkins.getInstance().getItemByFullName("otherJobName", AbstractProject.class) 
RunList<?> builds = otherJob.getBuilds().overThresholdOnly(Result.SUCCESS) 

def list = builds.limit(5).collect { it.number } 

Screenshot pagina wiki:

Screenshot

Problemi correlati