Sto utilizzando Jenkins per creare una pipeline di build e devo attivare una fase di distribuzione nella pipeline. Ciò significa un processo manuale (la compilazione avviene automaticamente, cronometrata, quindi si ferma nella fase di implementazione, in attesa dell'autorizzazione manuale).Come concatenare un lavoro downstream attivato manualmente, passando anche i parametri?
Ho bisogno che la fase di distribuzione venga attivata anche con i parametri del passaggio precedente.
Quindi, utilizzando il 'Plugin parametrizzato' posso passare i parametri tra i lavori. Sono in grado di attivare i processi automatizzati o manualmente attivati a valle (non sono sicuro che si tratti di una funzionalità standard o di aggiunte manuali da parte di alcuni plug-in).
Tuttavia, non riesco a trovare alcun modo per attivare un lavoro con parametri manuale.
Qualcuno sa di un modo per farlo? C'è un altro plugin che posso usare?
Il motivo per cui ho bisogno dei parametri è che ho creato un lavoro di distribuzione generico e devo passare il nome del modulo e la versione di Maven da distribuire. I potrebbe creare lavori di distribuzione specifici per ciascun modulo, ma ciò sarebbe molto doloroso.
Sono stato anche considerando i seguenti, ma sembra un ripiego:
- lavoro automatizzato esegue costruire, 'Trigger distribuzione' trigger costruire, i parametri di passaggio.
- 'innesco Deployment', scrive questi parametri in un file sul filesystem (build step - esecuzione della shell), e manualmente innesca l'attuale processo di distribuzione
- processo di distribuzione del (DEVE utilizzare l'area di lavoro dal 'grilletto distribuzione' di lavoro) legge i parametri dal filesystem (usando il plugin EnvInject).
Ci sono diversi problemi con questo approccio
- Io proprio non piace.
- Ha un lavoro intermedio solo per passare i parametri. Questo ingombra lo spazio di lavoro Jenkins
- Come generazioni sono effettuate sulla stessa area di lavoro, sembra fragile per me (! Se praticabile)
hai mai arriva con una soluzione accettabile per questo? – Niklas
No. Alla fine ho attivato automaticamente un lavoro intermedio, passando i parametri a questo. Ciò imposta le vars di ambiente in un file nell'area di lavoro FS. Quindi ho attivato un passaggio manuale per eseguire un altro lavoro nell'ambiente _same_, che imposta un ambiente basato sul file di ambiente impostato in precedenza. Hacky. – GKelly
Ho appena usato uno script per echo myparameter = $ POM_VERSION >> version.properties in un secondo momento nella compilazione. Quindi ha utilizzato EnvInject per leggere in version.properties nella build successiva. –