2013-04-17 10 views
10

Il è ottimo e voglio usarlo per il mio processo di compilazione, ma c'è un problema che devo risolvere prima: ci sono tre lavori A, B e C. SVN attivano i processi A e B (esecuzione parallela) e lavoro C inizia quando A e B hanno finito. Il lavoro C richiede le risorse dal lavoro A e B come input.Come passare un numero di build nel plugin MultiJob?

  -> Job A (with A.zip) 
Trigger       -> Job C (use artifacts A.zip and B.zip) 
      -> Job B (with B.zip) 

per la progettazione del flusso di lavoro con la MultiJob plugin è facile, ma non ho idea di come ottenere i corrispondenti manufatti da lavoro A e B in lavoro C. Posso passare i numeri di build per lavoro C (buildNr (A)! = buildNr (B))? O c'è un modo più intelligente per risolvere il problema?

risposta

8

Il plugin Multijob imposta le seguenti variabili d'ambiente per lavoro (code):

  • <JOBNAME>_BUILD_NUMBER
  • <JOBNAME>_BUILD_RESULT

Dove JOBNAME è c Reato dal nome del lavoro con tutti i caratteri e numeri non sostituiti con _. Così è possibile passare i numeri di build come parametri di lavoro C:

configuration of job C with Jenkins MultiJob plugin

1

C'è una soluzione utilizzando EnvInject e uno script Groovy: https://issues.jenkins-ci.org/browse/JENKINS-20241

+0

bello vedere che c'è più di un modo per risolvere questo problema! Ho usato invece una versione modificata del plugin copyartifacts (vedi la mia risposta). –

Problemi correlati