2012-02-16 48 views
12

我有一個Jenkins構建作業,在默認分支上具有Mercurial觸發器,該構建工作適用於構建「發佈候選」。這項工作然後開始煙測試工作。如何配置Jenkins從Mercurial中的不同分支構建項目

我們使用了一個分支 - 每個分支的特徵方案,因此在任何給定的時間可能有多達十幾種不同的活躍的分支在水銀(但活躍的分支定期更換)。

我想通過任何分支的更改觸發Jenkins作業,然後構建並運行所有需要更新的分支的煙霧測試。每次我們構建時,我們都應該創建名稱匹配分支的工件。

我看到了一個建議使用「小費」,而不是在水銀觸發分支名稱的另一種答案 - 這是一個可能性,但我認爲它會落入「主要作品」的範疇。觸發器正在輪詢,因此如果在輪詢間隔內發生對多個分支的更改,則可能會錯過分支更新。

我可以創建新任務每次創建一個分支的時間,但由於我們的分支機構的動態特性,那將是一個很大的正在進行的工作。

回答

2

我認爲你需要定製:頂級輪詢作業(調給小費)運行,確定已更改或已加入分支的自定義腳本。然後它將使用Jenkins API啓動由分支名稱參數化的作業。該參數可用於您的工作中,根據分支名稱(包括工件)自定義您需要的所有內容。