Я впервые пытаюсь настроить Cruisecontrol.net для UCM Clearcase. Ниже приведен тег sourceControl в файле ccnet.config:
<sourcecontrol type="clearCase">
<branch>123_India_Release</branch>
<autoGetSource>true</autoGetSource>
<viewName>admin_123_CRUISE</viewName>
<viewPath>$(ViewDirectory)</viewPath>
<useLabel>false</useLabel>
<useBaseline>false</useBaseline>
<executable>cleartool.exe</executable>
</sourcecontrol>
Постоянно получаю следующую ошибку:
ThoughtWorks.CruiseControl.Core.CruiseControlException: сбой операции управления версиями: cleartool: Error: не объект в vob: «ПУТЬ К ВИДУ»
Когда я запускаю cleartool из произвольного каталога со следующими параметрами:
cleartool.exe lshist -r -nco -branch "123_India_Release" -с 05 декабря 2012 г. 14: 38: 18 -fmt
Я получаю ту же ошибку. Но если я изменю рабочий каталог на $ (ViewDirectory) перед запуском cleartool, он будет работать нормально.
Как мне заставить Cruisecontrol.net запускать cleartool.exe из $ (ViewDirectory)? Я уже пробовал добавить тег <workingDirectory>$(ViewDirectory)</workingDirectory>
перед <executable>cleartool.exe</executable>
, но это не сработало.
Любая помощь будет оценена.
ИЗМЕНИТЬ 1:
В качестве обходного пути я сделал следующее:
<exec>
<executable>cleartool.exe</executable>
<baseDirectory>d:\Workspace\123_India_Release\VOB</baseDirectory>
<buildArgs>update -force</buildArgs>
<buildTimeoutSeconds>6000</buildTimeoutSeconds>
</exec>
Я добавил это в тег задачи. Я настроил почасовой триггер, который выполняет следующие действия:
1) Обновить вид снимка
2) Создайте решения VS 2010, указанные в теге задач.
Ограничения:
1) Триггер ежечасный. Я хочу, чтобы это был триггер на основе фиксации.
2) Это обходной путь
ИЗМЕНИТЬ 2:
Дальнейшие эксперименты показали, что ccnet.exe работает нормально. Он делает все, что нужно. Проблема вызвана службой ccservice.
Я остановил ccservice и запустил ccnet.exe. Я планирую оставить его включенным.