2011-11-29 129 views
6

我們使用jenkins進行持續集成,每10分鐘使用一次標準民意調查,並且它工作正常。我如何讓jenkins構建Subversion版本庫的每個版本

現在我想要設置一個在repro的每個修訂版上運行的作業,它將生成一些或多或少與特定提交對應的二進制修補程序。

我唯一想到的方法是在svnserver上使用post-commit掛鉤在jenkins服務器上排隊工作,但是我寧願不這樣做,因爲它會在防火牆中需要一個新的洞(我認爲詹金斯將所有排隊的工作合併爲一個)。

+0

這是可能CruiseControl.Net我認爲。但非常有興趣看到Jenkins的解決方案! –

回答

3

我還沒有嘗試過這個,但是你可以使用另一個版本來觸發你的破壞版本。

例如,您可以設置一個構建,每隔10分鐘從Subversion存儲庫執行標準輪詢。然後讓此版本確定自上次以來發生的所有新版本號。然後讓它排隊多個參數化版本(每個版本一個)。

有很多種方法可以做到這一點,但如果我這樣做,我可能會讓主版本使用python構建步驟來計算所有版本,然後使用parameterized trigger plugin來排列次版本。

這最後一步可能會有點亂,因爲我不知道任何插件,可以讓你排隊多個構建的。這是蠻力,但你可以設置一系列構建變量(SVN_REV_1,SVN_REV_2,...),然後設置幾個觸發器(每個潛在變量一個)。只要你有更多的人,那麼你作爲新的修訂版來過,你應該是好的。 (注意:有可能是一個更好的方式來做到這一點)

要幫助確保您不會錯過任何人,我會建議增加你投票爲每分鐘運行。我們在這裏爲我們的一個構建做類似的事情,並且更頻繁的輪詢負載從來都不是問題。