2016-07-22 40 views
0

我已經建了兩個工作在我的詹金斯例如:發戰高就在詹金斯

  1. 搖籃工作建立戰爭任務,並生成一個war文件準備部署。
  2. Docker作業從存儲庫中構建Docker鏡像。

兩者工作正常。然而,第二個取決於第一個。所以,Docker作業需要使用Gradle作業生成的最後一個war文件。

我怎麼能做到這一點?

回答

0

您可以使用parameterized job trigger插件觸發具有參數的子作業。您必須執行以下操作來解決上述問題:

  1. 創建將提供兩個子作業的父作業。
  2. 然後觸發第一份工作並歸檔文件,即文件war
  3. 然後將第一份工作的最後一次觸發內部編號傳遞給第二份工作並開始該工作。使用Copy artifacts插件從第一份作業中複製war,並在開始前通過特定的內部版本號。

這將解決您的問題!

+0

感謝您的評論@Devavrata。我不太明白第一項。爲什麼我需要創建一個父級和兩個sububjobs?我無法創造兩份工作,並在沒有父母的情況下互相發送信息嗎? – Jordi

0

爲您的第一份工作(Gradle作業)使用後期構建任務,只需將war文件保存到Docker作業的工作區中即可。然後配置Docker作業,以便它在構建之前不會清理工作區。對於後期構建操作,請在構建後選擇刪除工作區。這將確保您只有Gradle作業工作區中的最新戰爭文件。另外,如果您尚未使用,則應使用後期製作觸發器。

祝你好運!