CruiseControl.NET Build Label и SourceGear Vault Практический вопрос - PullRequest
2 голосов
/ 12 ноября 2008

Я использую 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 ]

2 голосов
/ 12 ноября 2008

В вашем проекте должен быть раздел <triggers>. Для наших ночных сборок мы используем следующее:

   <triggers>
      <scheduleTrigger time="00:30" buildCondition="IfModificationExists"/>
   </triggers>

Это указывает CCNet на сборку в 00:30 только в том случае, если изменения были зарегистрированы с момента последней сборки. Важной частью здесь является buildCondition="IfModificationExists", который можно использовать для любого типа триггера.

0 голосов
/ 12 ноября 2008

Итак, Скотт, ты имеешь в виду, что у тебя разные определения для ночных и обычных сборок или разные триггеры?

...