2012-12-19 152 views
2

我目前在使用jenkins和svn,並且希望根據我在服務器上生成的shell腳本生成特定標記。該腳本將導出我想每五分鐘構建一個標籤名稱列表;我想讓詹金斯收到這份清單,然後在列表中循環,建立每個標籤。基於環境變量/ shell輸出構建特定項目

我似乎只能得到參數化的構建選項來構建單個修訂,並且看不到如何處理構建列表。我應該使用預編譯shell的選項嗎?如果是這樣,我將如何爲腳本生成的每個標籤啓動構建?

本質上,我正在尋找最佳方式來構建我的shell腳本在jenkins中返回的特定svn標籤。此外,env變量是詹金斯可以接受的列表的最佳形式,因爲我的腳本可以很容易地改變,以符合jenkins可能需要的格式。

回答

2

Parameterized Trigger plugin也許能夠通過參數列表迭代(修訂版2.12索賠類似的東西),但我不知道如何調用它,所以這裏有幾個選擇:

一種解決方案是創建一個構建(「標記生成器」),它需要一個參數來指定要從中構建的標記。然後使用Jenkins Remote API創建另一個使用輸入文件構建的構建標籤構建器。主版本將包含一個shell構建步驟,該步驟遍歷輸入文件並獲取啓動作業的Jenkins URL。 Jenkins實例http://jenkins:8080/job/MY_JOB/api上的網址描述瞭如何操作。

該解決方案的缺點是,由於所有標籤都在同一個版本中,因此很難提取特定標籤的構建趨勢。 (同樣的缺點也適用於參數化觸發解決方案。)

根據您的標籤的生命週期,更好的解決方案可能是使用Jenkins Remote API使用腳本和模板配置在外部創建構建。網址http://jenkins:8080/api描述瞭如何創建一個工作。