CruiseControl.NET Build Label и SourceGear Vault Практический вопрос
Я использую SourceGear Vault и applyLabel="true" для проекта, поэтому при его создании в SourceGear Vault будет создана метка для соответствующего проекта. Мои вопросы
У меня есть ночные сборки, так что если я не внесу никаких изменений в этот проект за этот день, то как мне определить мои настройки...
<sourcecontrol type="vault" autoGetSource="true" applyLabel="true">
<executable>c:\program files\sourcegear\vault client\vault.exe</executable>
<username>john</username>
<password>password</password>
<host>server</host>
<repository>Default Repository</repository>
<folder>$/Projects/xxx/xxx/xxx/source/xxx/xxx/xxx/xx.source</folder>
<ssl>false</ssl>
<timeout units="minutes">10</timeout>
**<useWorkingDirectory>false</useWorkingDirectory>**
<workingDirectory>C:\CCNET\build\xx\xx\</workingDirectory>
</sourcecontrol>
Дело в том, что я не хочу меток для сборки, где нет изменений в коде.
Любая помощь приветствуется.
2 ответа
В определении вашего проекта должен быть <triggers>
раздел. Для наших ночных сборок мы используем следующее:
<triggers>
<scheduleTrigger time="00:30" buildCondition="IfModificationExists"/>
</triggers>
Это говорит CCNet о необходимости сборки в 00:30, только если изменения были зарегистрированы с момента последней сборки. Важной частью здесь является buildCondition="IfModificationExists"
, который может быть использован на любом типе триггера.
Значит, Скотт, ты имеешь в виду, что у тебя разные определения для ночных и обычных сборок или разные триггеры?