2013-04-17 16 views
10

MultiJob plugin mükemmel ve bunu benim oluşturma işlemi için kullanmak istiyorum, ancak daha önce çözmem gereken bir sorun var: A, B ve C üç iş var. SVN A ve B işlerini (paralel yürütme) ve işi tetikliyor C, A ve B bittiğinde başlar. Job C, A ve B işlerinden gelen eserleri giriş olarak gerektirir. MultiJob eklentisi içinde bir yapı numarası nasıl geçilir?

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

MultiJob plugin ile iş akışını tasarlamak için kolay, ama nasıl iş C. iş A ve B'den gelen eserler Ben iş C'ye yapı numaraları uzatabilir almak için (buildNr (A hiçbir ipucu var)! = buildNr (B))? Ya da sorunu çözmek için daha akıllı bir yolu var mı?

cevap

8

multijob eklentisi iş başına şu ortam değişkenlerini ayarlar (code):

  • <JOBNAME>_BUILD_NUMBER
  • <JOBNAME>_BUILD_RESULT

JOBNAME burada c İşin adıyla isimlendirilmeyen tüm karakterler ve rakamlar _ ile değiştirilir. Böylece İş C parametreleri olarak yapı numaraları geçirebilirsiniz:

configuration of job C with Jenkins MultiJob plugin

1

EnvInject ve gelenekselleşmiş komut dosyası kullanarak bir çözüm var: https://issues.jenkins-ci.org/browse/JENKINS-20241

+0

bu sorunu çözmek için birden fazla yolu olduğunu görmek ne güzel! Bunun yerine copyartifacts eklentisinin değiştirilmiş bir versiyonunu kullandım (cevabıma bakın). –

İlgili konular