2013-02-13 23 views
0

我正在使用SVN回購轉換爲我們的代碼庫的Git倉庫。我們正試圖在這個過渡期間維持我們現有的大部分構建/部署過程,這意味着使用我們現有的CruiseControl.NET CI服務器進行構建。如何在使用CruiseControl.Net時觸發構建Git倉庫子目錄中的更改?

,我快到的問題是,我們有幾個不同的應用程序目錄中的git的根,它讓我從檢測特定的子文件夾和建築只有相關的應用程序的改變之下,如:

../gitRepoRoot/appOne 
../gitRepoRoot/appTwo 

傳統上,我將svn工作目錄設置爲[../gitRepoRoot/appOne]之類的東西,只是檢測到構建appOne的更改,但到目前爲止,我可以告訴沒有辦法使用子目錄飯桶。

我不是一個CruiseControl.NET的專家,所以也許我錯過了一些東西,或者有另一種方法來達到同樣的目的?

+0

您是否找到解決方案?如果下面的答案有幫助,請接受它 – 2014-05-05 19:52:27

回答

0

根據你有你的源代碼塊的方式,你可以使用包含/排除過濾器來控制構建觸發。

參見:http://www.cruisecontrolnet.org/projects/ccnet/wiki/Filtered

例如:

<sourcecontrol type="filtered"> 
    <dynamicValues /> 
    <exclusionFilters /> 
    <inclusionFilters> 
    <pathFilter> 
     <pattern>appOne</pattern> 
    </pathFilter> 
    <pathFilter> 
     <pattern>appTwo</pattern> 
    </pathFilter> 
    </inclusionFilters> 
    <sourceControlProvider type="git"> 
    <autoGetSource>True</autoGetSource> 
    <branch>master</branch> 
    <commitUntrackedFiles>False</commitUntrackedFiles> 
    <dynamicValues /> 
    <executable>C:\Program Files (x86)\Git\bin\git</executable> 
    <fetchSubmodules>False</fetchSubmodules> 
    <repository>**repo**</repository> 
    <tagCommitMessage>CCNet Build {0}</tagCommitMessage> 
    </sourceControlProvider> 
</sourcecontrol> 

注: 默認pathFilter元素是區分大小寫的,但可以像這樣被禁用:

<pathFilter> 
    <caseSensitive>False</caseSensitive> 
    <pattern>appOne</pattern> 
</pathFilter> 

有關其他選項,請參閱http://www.cruisecontrolnet.org/projects/ccnet/wiki/PathFilter

相關問題