我的團隊正在使用功能分支來實現新功能,並不斷將快照構建部署到遠程回購中供我們的用戶使用。因此'部署'實際上只意味着'分發到遠程Maven倉庫'。我們目前只爲master分支運行持續集成構建,而不是基於以下原因:我們使用Maven構建項目並將JavaDoc和源代碼與JAR一起分發。如何使用Maven連續構建和部署功能分支?
我的計劃是現在的分類添加到每個功能分支建立並期待一個創建和部署像這樣的文物時使用:
- 科:主
- 分類:無
工件:
foo-${version}
的.jar,foo-${version}-sources
的.jar,foo-${version}-javadoc.jar
科:功能-X
- 分類:我的功能
- 文物:
foo-${version}-feature.jar
,foo-${version}-sources-feature.jar
,foo-${version}-javadoc-feature.jar
我真的不關心的神器確切的命名,我只需要一個特性分支獨立的主,來源及文物的JavaDoc 。事實證明,JavaDoc插件和源代碼插件都不考慮配置的分類器,因此可以有效地覆蓋爲我的主版本創建的工件。
我真的不想改變artifactId,雖然這可能會解決問題。你如何處理特性分支並與Maven持續集成?
topoc分支的靜態程度如何?你期望多久設定一份新工作,多久他們會被淘汰?你在CI服務器中用什麼來幫助你?這是阻止我思考這樣一個構建的事情之一。也許網守模型或開發人員本地CI服務器更適合。 – eckes 2012-07-10 12:52:32
你不應該使用分類器來反映分支的差異,因爲你會對其他插件產生不好的副作用。 分類器應該是來源,javadocs等...... 爲了您的需要,您應該更改artifactId或版本。 – Farid 2012-07-10 12:54:54
@eckes - 我們使用Bamboo,它支持根據分支名稱上的正則表達式自動觸發基於不同分支的構建作業。只要它檢測到與該表達式匹配的分支,如果通常指示這樣做,它幾乎可以克隆構建作業。 – 2012-07-10 14:06:06