2013-02-13 2 views
0

SVN repos를 사용하여 Git repos 코드베이스로 변환하는 중입니다. 우리는 기존의 CruiseControl.NET CI 서버로 구축하는 것을 의미하는이 전환 동안 기존 구축/배포 프로세스의 대부분을 유지하려고 시도하고 있습니다.CruiseControl.Net을 사용할 때 Git repo의 하위 디렉토리에서 변경 사항을 빌드하는 방법은 무엇입니까?

내가 실행 해요 문제는 우리와 같은 특정 하위 폴더 및 건물에만 관련 응용 프로그램의 변화를 감지에서 저를 유지하는 자식 루트 아래에 여러 가지 응용 프로그램 디렉토리 가지고있다

:

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

전통적으로 svn 작업 디렉토리를 [../gitRepoRoot/appOne]과 같이 설정하고 appOne 빌드를위한 변경 사항을 감지했지만 지금까지는 하위 디렉토리를 볼 수있는 방법이 없다는 것을 알 수 있습니다. 자식.

나는 어떤 방법으로도 CruiseControl.NET 전문가가 아니므로 아마도 뭔가를 놓치고 있거나 같은 목적을 달성하는 다른 방법이 있습니까?

+0

해결책을 찾았습니까? 아래 답변을 수락하는 데 도움이된다면 –

답변

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을 참조하십시오.