CruiseControl.СЕТЬ не увеличивает метку
-
11-09-2019 - |
Вопрос
Я запускаю сервер ccnet в операционной системе Windows Server 2003.Сборки для моего продукта выполняются нормально.Но метка всегда остается "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>
Решение
Это произошло из-за ошибки в маркировщике версий сборки, которая увеличивалась, только если условием сборки было "ForceBuild".Таким образом, если сборка была запущена из-за изменений в исходном коде, и в этом случае условием сборки триггера было бы 'IfModificationExists', номер версии не был бы увеличен.
Это было исправлено.Подробная информация об ошибке находится здесь: