Vogliamo attivare dinamicamente i test di integrazione in diversi build downstream in jenkins. Abbiamo un progetto di test di integrazione parametrizzato che prende come nome un nome di prova. Determiniamo dinamicamente i nostri nomi di test dal repository git.Come faccio a generare dinamicamente build downstream in jenkins?
Abbiamo un progetto padre che utilizza jenkins-cli per avviare una build del progetto di integrazione per ogni test trovato nel codice sorgente. Il progetto principale e il progetto di integrazione sono correlati tramite fingerprint corrispondenti.
Il problema con questo approccio è che i risultati dei test aggregati non funzionano. Penso che il problema è che i test di integrazione "downstream" sono avviati tramite jenkins-cli, quindi jenkins non si rende conto che sono a valle.
Ho esaminato molti plugin jenkins per provare a farlo funzionare. I plug-in Join e Parameterized Trigger non aiutano perché si aspettano una lista statica di progetti da costruire. Le factory dei parametri disponibili per Parameterized Trigger non funzioneranno perché non esiste una factory per creare un elenco arbitrario di parametri. Il plug-in Log Trigger non funzionerà.
Il plugin Groovy Postbuild sembra funzionare correttamente, ma non sono riuscito a capire come attivare una build da esso.
Che cos'è 'currentBuild'? – willkil
Nevermind. Vedo "build - build corrente (vedi hudson.model.AbstractBuild)" nella pagina [Groovy Postbuild Plugin] (https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Postbuild+Plugin). Non penso che sia esistito quando ho fatto la domanda o scritto la mia risposta. – willkil
Quando faccio questo, mi piacerebbe vedere la build apparire come una build downstream della build corrente. Mostra correttamente la build di lancio come una build upstream della build avviata, ma non il contrario - in ogni modo è possibile ottenerla? –