2012-07-30 72 views
2

我正在使用詹金斯的項目,並想知道如果以下是可能的。我有四個單獨的SVN模塊,這些模塊作爲工作的一部分被檢出。每個SVN模塊都被添加到一個單獨的目錄中。根據在SCM輪詢過程中更新哪個模塊,我只想建立某些目錄。詹金斯:單個工作與多個顛覆模塊

使用Cruise Control,我可以爲每個已更新的模塊設置一個變量,並將這些變量傳遞給ant構建腳本以控制構建。

有沒有人做過類似的事情或有任何想法?

感謝, 肖恩

+2

我會爲每個模塊提供四種不同的構建配置。 每個配置都會有VCS更改構建觸發器。 如果模塊中存在依賴關係,則將按順序構建模塊。 – 2012-07-31 15:40:32

+0

謝謝,Eugen。由於每個模塊都相當獨立,我們最終採用這種方法。 – 2012-08-02 00:59:48

+0

肖恩,不同的構建配置不是那麼好的解決方案。請查看此插件說明https://wiki.jenkins-ci.org/display/JENKINS/Template+Workflows+Plugin或此答案:http://stackoverflow.com/a/14246670/1435741 – 2013-01-09 21:27:34

回答

1

這個問題是非常複雜的。您正在觸及CI builserver的太多不同部分以及一些其他任務。基本上...提供Jenkins中的工作/項目信息來控制構建本身的行爲並不是最好的方式,但如果你沒有其他選擇,那麼你沒有別的選擇。

構建本身應該是足夠不可知的,它應該包含所有參數,使得構建在CI和Workstation中都成功(例如,從cmd.exe)。

根據SCM輪詢期間哪個模塊更新,我想 喜歡只建立某些目錄。

所以基本上你需要Maven構建系統,它提供基於模型/模塊的條件構建,而不是像Ant那樣構建單個項目。

巡航控制,我能夠設置一個變量爲 進行了更新,並通過這些變量的Ant構建腳本來 控制生成每個模塊。

在這裏你想有某種類似的建立觸發功能。這裏來的地方,沒有更多的需求的詳細解釋,我只能建議檢查一下Pramatreized Build Trigger插件,它可以通過您設置的參數觸發構建。

有沒有人做過類似的事情或有任何想法?

最後,在這裏你還可以檢查出這個插件:https://wiki.jenkins-ci.org/display/JENKINS/Conditional+BuildStep+Plugin

在結束時,一些功能被詹金斯提供外的開箱,所以如果你使用Ant,你可以很容易地使用環境變量並開始構建您所需的行爲。通常在花費一些時間思考如何在沒有大量Jenkins插件的幫助下做一些事情的時候,它會以某種方式讓你真正理解,你想實現的事情的關鍵是什麼。

希望我有所幫助。隊友的歡呼聲。