cruisecontrol.net은 레이블을 증가시키지 않습니다
-
11-09-2019 - |
문제
Windows Server 2003 운영 체제에서 CCNET 서버를 실행 중입니다. 내 제품의 빌드는 제대로 발생합니다. 그러나 레이블은 항상 "1.0.1.0"으로 유지됩니다. 웹 대시 보드를 통해 힘 빌드를 수행하면 버전이 증가하지만 그렇지 않으면 버전이 증가하지 않습니다.
내가 놓친 것이 있는지 말해 줄 수 있습니까? 알려진 문제입니까? 해결 방법이 있습니까?
제품의 크루즈 컨트롤 구성 파일 (project_config.xml)은 다음과 같습니다.
<cb:config-template xmlns:cb="urn:ccnet.config.builder">
<project name="MyProduct">
<workingDirectory>$(MyProductRootDir)</workingDirectory>
<artifactDirectory>$(MyProductRootDir)\build</artifactDirectory>
<webURL>http://local/ccnet/server/local/project/MyProduct/ViewProjectReport.aspx</webURL>
<modificationDelaySeconds>900</modificationDelaySeconds>
<sourcecontrol type="clearCase">
<viewPath>$(MyProductRootDir)</viewPath>
<branch>main</branch>
<autoGetSource>true</autoGetSource>
<useLabel>false</useLabel>
</sourcecontrol>
<triggers>
<scheduleTrigger time="06:00" name="6AM_build">
<weekDays>
<weekDay>Monday</weekDay>
<weekDay>Tuesday</weekDay>
<weekDay>Wednesday</weekDay>
<weekDay>Thursday</weekDay>
<weekDay>Friday</weekDay>
</weekDays>
</scheduleTrigger>
<scheduleTrigger time="09:00" name="9AM_build">
<weekDays>
<weekDay>Monday</weekDay>
<weekDay>Tuesday</weekDay>
<weekDay>Wednesday</weekDay>
<weekDay>Thursday</weekDay>
<weekDay>Friday</weekDay>
</weekDays>
</scheduleTrigger>
<scheduleTrigger time="12:00" name="12PM_build">
<weekDays>
<weekDay>Monday</weekDay>
<weekDay>Tuesday</weekDay>
<weekDay>Wednesday</weekDay>
<weekDay>Thursday</weekDay>
<weekDay>Friday</weekDay>
</weekDays>
</scheduleTrigger>
<scheduleTrigger time="15:00" name="3PM_build">
<weekDays>
<weekDay>Monday</weekDay>
<weekDay>Tuesday</weekDay>
<weekDay>Wednesday</weekDay>
<weekDay>Thursday</weekDay>
<weekDay>Friday</weekDay>
</weekDays>
</scheduleTrigger>
<scheduleTrigger time="18:00" name="6PM_build">
<weekDays>
<weekDay>Monday</weekDay>
<weekDay>Tuesday</weekDay>
<weekDay>Wednesday</weekDay>
<weekDay>Thursday</weekDay>
<weekDay>Friday</weekDay>
</weekDays>
</scheduleTrigger>
</triggers>
<labeller type="assemblyVersionLabeller">
<major>1</major>
<minor>0</minor>
<incrementOnFailure>true</incrementOnFailure>
</labeller>
<tasks>
<msbuild>
<executable>$(msbuildexe)</executable>
<workingDirectory>build</workingDirectory>
<projectFile>build.targets</projectFile>
<buildArgs>/p:Configuration=Debug /fileLoggerParameters:LogFile=build_log.txt</buildArgs>
<targets>Build</targets>
<timeout>1200</timeout>
<logger>FileLogger,Microsoft.Build.Engine</logger>
</msbuild>
</tasks>
<publishers>
<xmllogger logDir="E:\ccnet\logs\MyProduct" />
<statistics />
</publishers>
<externalLinks>
<externalLink name="build_output" url="http://local/builds/MyProduct" />
</externalLinks>
</project>
</cb:config-template>
그리고 내 ccnet.config 파일은 다음과 같습니다
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<cb:define msbuildexe="C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe"/>
<cb:define cyraftframeworkrootdir="E:\myProduct"/>
<cb:include href="project_config.xml" xmlns:cb="urn:ccnet.config.builder"/>
</cruisecontrol>
해결책
이는 빌드 조건이 '포스 빌드'인 경우에만 증가하는 어셈블리 버전 Labeller의 버그 때문입니다. 따라서 소스 코드에 대한 수정으로 빌드가 트리거 된 경우 트리거의 빌드 조건은 'ifmodificationExists'일 경우 버전 번호가 증가하지 않습니다.
이것은 고정되었습니다. 버그의 세부 사항은 여기에 있습니다.
제휴하지 않습니다 StackOverflow