2012-06-14 66 views
0

我有一個maven項目,其中有兩個子項目,它們是在我的SVN存儲庫中使用svn:externals定義的。換句話說,我有一個項目層次結構如下:Hudson - SCM輪詢配置檢測子項目的修訂更改

-ParentProject

  • 項目
  • 測試項目

當我配置我的哈德森的工作,我只是進入了我的父母項目的SVN地址。當我手動觸發構建時,我可以檢查所有層次結構並能夠運行所有Maven目標。

所以現在我想爲我的構建配置一個SCM輪詢機制,所以當我提交代碼(特別是子項目)時會觸發構建。問題是SCM輪詢查看我的父項目的修訂號,它不檢測我的子項目修訂更改。

有什麼辦法強制哈德森也看看我的子項目修訂更改?你還有其他建議嗎?

在此先感謝。

回答

0

您可以指定多個存儲庫URL並將其放置在適當的位置。例如:

父項目:

庫網址:

svn://server/repoparent/trunk 

本地模塊目錄:

. 

項目:

庫網址:

svn://server/repoproject/trunk 

本地模塊目錄:

./somepath/project 

測試項目:

庫網址:

svn://server/repotest/trunk 

本地模塊目錄中:

./somepath/project/tests 

然後哈德森將到變化作出反應中的任何repoparent/trunkrepoproject/trunk,和repotest/trunk

+0

我的父項目已經將我的子項目作爲模塊在其pom.xml中看到,所以當我觸發構建時,作業運行所有maven目標(父項目子項目)被執行。那麼是否真的把所有3個svn倉庫添加到工作中?PS:我已經解決了問題後提交鉤子方法(https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin)。感謝您的回覆 –

+0

是的,只要您輕鬆訪問,提交後掛鉤可能是最佳選擇。輪詢選項將有一個不必要的結帳(這不是很糟糕,但仍然不夠優雅)。我認爲你應該發佈你的答案。 –