CruiseControl.NET faz rótulo não incremento
-
11-09-2019 - |
Pergunta
Estou executando o servidor ccnet on Server 2003 um sistema operacional Windows. O constrói para o meu produto acontecer bem. Mas os restos de etiquetas "1.0.1.0" sempre. Se eu fizer uma compilação força através do painel web a versão é incrementado, mas por outro lado, a versão não se incrementado.
Alguém pode me dizer se há algo que eu estou ausente. Este é um assunto conhecido? Existem soluções alternativas?
O arquivo de configuração de controle de cruzeiro para o produto (project_config.xml) se parece com o seguinte:
<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>
e meus ccnet.config olhares arquivo como este
<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>
Solução
Este foi por causa de um bug na versão de montagem labeller que só incrementado se a condição de construção foi 'ForceBuild'. Assim, se uma compilação foi desencadeada por causa de modificações ao código-fonte, caso em que, a condição de construção do gatilho seria 'IfModificationExists', o número da versão não iria ser incrementado.
Isso foi corrigido. Os detalhes do bug está aqui: