2017-02-20 62 views
1

我有一個父jenkins multijob,它調用3個子任務,向父項傳遞給父子的相同參數。 每個孩子需要使用相同的時間戳,因爲它是每個孩子需要在網頁上搜索的唯一標識符。

我的問題是這樣的: 構建父項時,「name」參數設置爲$ {BUILD_TIMESTAMP},因此在2月20日的12:00之前調用此「02201200」。每個孩子被稱爲「傳遞當前作業參數」。但是,不是每個孩子收到02201200,而是每個孩子收到$ {BUILD_TIMESTAMP}並再次獲取該值(例如02201204)。

如何強制父母評估$ {BUILD_TIMESTAMP}並將其評估傳遞給孩子而不是變量本身?

+0

你解決了你的問題嗎?目前的解決方案對我的情況並不好。謝謝 – Robinho

回答

0

一種可能的解決方案是將此時間戳的值寫入文件。然後,您可以通過「參數屬性文件」選項在後續作業中引用該值。很明顯,每當你的作業序列運行時你都會覆蓋這個文件。

我使用這種方法,並最終通常將所有元數據(系統/環境變量,jenkins參數和構建屬性等)保存到屬性文件中,甚至將它們歸檔。這種方法可以簡化/解決我遇到的許多問題。現在,每個構建都有其元數據歸檔,對於下游作業或後來的引用,我可以從這個文件中獲取所有必要的信息;不需要傳遞額外的參數。此外,如果出現任何問題,元數據對調查非常有幫助。我會推薦這個簡單的策略,因爲它已被證明對我和我的團隊非常有用。