2017-03-08 16 views
1

我在Jenkins中有2個工作:Parent and Child(Parent上的成功構建觸發了Child上的構建)。Jenkins - 如果工作由上游工作開始,則更改屬性

有一個屬性值在兩個項目:

  • 項目父:VALUE = FIRST
  • 項目兒童:VALUE = NEXT

我要的是,如果我建工作兒童直接,VALUE = NEXT。但是,如果作業Child由上游作業Parent啓動,則該屬性將被覆蓋,並且VALUE = FIRST。

我試着在Parent上設置一個後構建動作來觸發Child上的參數化構建,並定義了參數VALUE = FIRST。然而,在運行Parent並觸發Child上的構建之後,我查看了Child和VALUE = NEXT的控制檯輸出:它沒有更改。我試過將參數VALUE傳遞給Child,如果VALUE在Child中未定義並且它工作,VALUE等於FIRST。因此Jenkins能夠傳遞參數,但是如果它已經在下游定義了,它就不能覆蓋參數)

如何覆蓋下游作業中的屬性?

+0

您在哪裏定義兩個項目中的「VALUE」屬性? – Pom12

+0

對不起,回覆遲了,但我解決了這個問題。 VALUE在子作業中通過EnvInject定義爲環境變量,而不是作爲參數。所以當試圖傳遞參數VALUE來覆蓋環境變量VALUE時,它遇到了問題。 通過修改Child作業使VALUE成爲參數,我能夠成功地將新參數從Parent作業傳遞給Child作業。 –

+0

因此,兩個項目中如何定義這個問題最終成爲問題 –

回答