2012-11-08 59 views
0

我在想如何區分用戶之間的jenkins構建。我的主要用例是想要構建和運行他的SVN分支的測試工作的用戶。Jenkins:複製視圖並添加作業來查看

由於我有很多用戶,我希望這些作業具有某種類型的「標籤」來標識用戶和分支,並防止作業之間發生衝突,因爲如果它們具有相同的名稱,則它們將使用相同的工作區目錄這會刪除其他用戶的工作。

我能找到的唯一方法是以編程方式複製作業並更改其屬性(例如名稱和分支)。所以如果你想保持我的工作秩序,我想能夠組織視圖中的用戶工作,我使用嵌套的視圖插件,但所有的Jenkins API只顯示創建一個簡單的視圖,而我要使用嵌套視圖。所以我認爲是複製一個「模板視圖」並改變它的屬性。

有沒有辦法通過REST API或Python(最好)來做到這一點?

謝謝!

+1

評論「我能找到的唯一方法是以編程方式複製作業並更改其屬性」 - [svnmerge插件](https://wiki.jenkins-ci.org/display/JENKINS/Subversion+合併+插件)可能會使這更容易。 – jwernerny

回答

0

我建議使用Build User Vars Plugin爲了透明地提供一個用戶特定的變量,以便以後使用。該插件提供了幾個變量:

enter image description here

Template Project Plugin可以用來定義與有關實際構建過程中所有必需的配置工作。有了這些,您可以創建幾個「包裝器」作業,遵循%UserName-JobName%模式,因此具有不同視圖的配置僅顯示特定用戶的作業將是一件相當簡單的任務。包裝作業只能執行上層模板作業(使用上層構建器)。

enter image description here

也請考慮Hudson Personal View Plugin

0

創建一個以SVN路徑作爲參數的參數化版本。在SVN配置中將URL設置爲$。爲了避免清除工作區,請配置項目以在每次運行後對構建進行存檔。如果您希望用戶能夠同時運行構建,Jenkins將創建多個工作空間並保持獨立。您可以使用Build Name Setter plugin爲每個構建標記SVN路徑或其他參數。

相關問題