2015-05-07 7 views
13

Sto utilizzando il plug-in Jenkins Delivery Pipeline. Ho alcune build parametrizzate che vengono attivate manualmente. Se faccio scattare una build dalla pagina del progetto, la build mostra una schermata in cui i parametri devono essere definiti (come previsto). Tuttavia, quando avvio una generazione parametrizzata dal plug-in Delivery Pipeline, avvia la generazione senza offrire uno schermo. Questo è un comportamento strano, è possibile ottenere il plug-in della pipeline per mostrare la schermata di configurazione parametrizzata?Plugin di Jenkins Delivery Pipeline e build parametrizzati

Grazie per il vostro aiuto!

risposta

9

Sto rispondendo a questa domanda in generale.

È necessario utilizzare Parameterized Trigger Plugin o utilizzare Build Pipeline Plugin. Questo problema con il plug-in Delivery Pipeline è ancora risolto dal team di Jenkins. Vedere questo collegamento per l'aggiornamento sul problema a https://issues.jenkins-ci.org/browse/JENKINS-25685. Puoi sapere quando viene risolto da quel link.

È possibile utilizzare il plug-in Build Pipeline se può essere incorporato nel proprio caso d'uso. C'è stato un problema simile per il plug-in Build Pipeline, che ora è stato risolto. È stato risolto entro 22 giorni (https://issues.jenkins-ci.org/browse/JENKINS-25427, https://github.com/jenkinsci/build-pipeline-plugin/pull/56). Puoi solo sperare che lo stesso problema con il plug-in Delivery Pipeline sia stato risolto presto.

Potete fornirmi la versione di Jenkins, l'ambiente e la versione del plugin? Posso aggiornare la mia risposta in base alle risposte fornite.

1

Quando si utilizza il plug-in Delivery Pipeline e si hanno build parametrici attivati ​​manualmente, se si configura il lavoro upstream per passare i parametri al processo downstream, quando viene fatto clic su "build trigger button" su la pagina di visualizzazione della pipeline, i parametri vengono passati automaticamente.

Per esempio, diciamo che ha un setup come questo:

Compile_Project ---> Deploy_Project 

Supponiamo che si passa una variabile chiamata versionNumber dal Compile_Project ai Deploy_Project posti di lavoro. Supponiamo anche che tu stia utilizzando Subversion per il tuo SCM e che il tuo versionNumber somiglia allo 1.0.${SVN_REVISION}. ${SVN_REVISION} viene fornito automaticamente da Jenkins, quindi il numero di versione sarà simile a 1.0.1234, dove 1234 è il numero di commit fornito da Subversion.

Nella vista Pipeline di consegna, supponiamo che sia configurato per mostrare 3 istanze di pipeline e che i trigger manuali siano abilitati nelle impostazioni di visualizzazione. La vostra pagina di visualizzazione gasdotto potrebbe essere simile a questo (yay ASCII art!):

Compile_Project ---> Deploy_Project (>) 

Compile_Project ---> Deploy_Project (>) 

Compile_Project ---> Deploy_Project (>) 

In questo caso, sto usando (>) per rappresentare il pulsante di attivazione manuale. Il pulsante in basso proverebbe a distribuire la versione 1.0.1234, il pulsante centrale proverebbe a distribuire la versione 1.0.1235 e il pulsante in alto proverebbe a distribuire la versione 1.0.1236, supponendo che il progetto abbia ottenuto commit SVN consecutivi.

Per passare il parametro da Compile_Project al lavoro Deploy_Project, è necessario effettuare quanto segue. (Nota: sembra che tu abbia già fatto questa parte, ma la sto includendo nel caso in cui potresti aver saltato un passaggio, e anche per completezza.)

Nella configurazione del lavoro Compile_Project, come azione post-compilazione, selezionare "Crea altri progetti (passaggio manuale)". Nella casella "Nome progetto downstream", inserisci Deploy_Project, quindi dal menu a discesa "Aggiungi parametri", seleziona "Parametri predefiniti". Nell'area di testo "Parametri" che appare, crea un parametro da passare, che chiamerò VERSION_NUMBER. Quello che inserirai nell'area di testo è quindi VERSION_NUMBER=1.0.${SVN_REVISION}. Ciò consentirà il passaggio del parametro da Compile_Project a Deploy_Project. Tuttavia, non hai ancora finito.

Nella configurazione del lavoro Deploy_Project, è necessario configurarlo per accettare il parametro che si sta passando nel lavoro. Per fare ciò, configurare Deploy_Project e selezionare la casella di controllo "Questa configurazione è parametrizzata". Quindi aggiungi un parametro String dal menu a discesa "Aggiungi parametro". Nel campo "Nome", inserisci VERSION_NUMBER. A questo punto, è possibile utilizzare ${VERSION_NUMBER} nella configurazione di Deploy_Project ovunque sia necessario per specificare il numero di versione corretto del progetto da distribuire.