2015-02-06 2 views
0

안녕하십니까? 귀하의 도움이 필요합니다.CruiseControl.NET 프로젝트의 강제 빌드를 사용자 정의 할 수 있습니까?

C# 솔루션을 빌드하고 일부 스크립트를 실행하는 CruiseControl.NET 프로젝트가 있습니다. "Debug"MSBuild 구성으로 커밋 할 때마다 프로젝트를 빌드합니다.

내가 필요한 것은 강제 빌드를 수행 할 때 CC가 "디버그 2"구성으로 프로젝트를 빌드하는 것이지만 git commit을 빌드 할 때 "디버그"구성을 사용해야합니다.

동적 구성이 가능합니까? 그렇다면 어떻게해야합니까?

답변

0

좋아요, 저는 CC 문서의 조건을 발견했습니다.

<conditional> 
    <conditions> 
    <buildCondition> 
     <value>ForceBuild</value> 
    </buildCondition> 
    </conditions> 
    <tasks> 
    <!-- Tasks to perform if condition passed --> 
    </tasks> 
    <elseTasks> 
    <!-- Tasks to perform if condition failed --> 
    </elseTasks> 
</conditional> 
0

또 다른 옵션은 빌드 스크립트에서 빌드 조건을 확인하는 것입니다. 빌드 스크립트는 nant, msbuild, batch 일 수 있습니다. 이 언어는 일반적으로 ccnet.config 파일 자체보다 if, while, ... 구문에 대해 더 많은 옵션을 제공합니다.

이렇게하면 ccnet.config가 더 깨끗하게 유지되고 모든 마법이 빌드 스크립트에서 발생합니다. 또한 빌드 서버에 영향을주지 않고 변경 사항을 테스트하는 것이 더 쉽습니다. 속성에서

봐 그들에게 전달되는 :

http://www.cruisecontrolnet.org/projects/ccnet/wiki/Integration_Properties

0

사용 ccnet 매개 변수를; 예를 들어

http://cruisecontrolnet.org/projects/ccnet/wiki/Parameters

:

<booleanParameter> 
<name>Configuration</name> 
<true name="Debug2">Yes</true> 
<false name="Debug">No</false> 
<display>Configuration</display> 
<description>Do you want to build Debug 2?</description> 
<default>Debug</default> 
<required>false</required> 
</booleanParameter> 

하면 사용 :

<tasks> 
<nant> 
    <executable>nant.exe</executable> 
    <buildArgs>-D:config=$[Configuration|Debug]</buildArgs> 
... 
</nant> 
</tasks> 

설정은 속성으로 NANT에 전달됩니다.

관련 문제