Cruisecontrol.net с UCM Clearcase - как?

Я впервые пытаюсь настроить 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. Я планирую оставить его включенным.


person msiyer    schedule 05.12.2012    source источник


Ответы (1)


Каталога просмотра недостаточно: вы должны указать vob.

См. Например:

Путь должен выглядеть так:

<viewPath>Drive:\path\to\view\vobname</viewPath>

Если ваш $(ViewDirectory) уже ссылается на Drive:\path\to\view, вы можете использовать:

<viewPath>$(ViewDirectory)\vobname</viewPath>
person VonC    schedule 05.12.2012
comment
$ (ViewDirectory) уже равен $ (ViewDirectory) \ vobname. Я попытался сделать $ (ViewDirectory) на один уровень выше и на один уровень ниже и т. Д. Но ничего не помогло. Cleartool работает, только если мы изменим рабочий каталог на $ (ViewDirectory). - person msiyer; 05.12.2012
comment
@msiyer, можете ли вы протестировать и заменить $(ViewDirectory) полным путем, чтобы увидеть, сохраняется ли проблема? - person VonC; 05.12.2012
comment
@msiyer, не могли бы вы попробовать путь в <viewpath> элементах, как упоминалось в упомянутых мною потоках? (вместо <baseDirectory>) - person VonC; 05.12.2012
comment
@msiyer, черт возьми;) Извините, что не помог мне в этом вопросе. - person VonC; 05.12.2012
comment
VonC, забавная штука - ccnet.exe работает нормально. Эту проблему создает ccservice. - person msiyer; 05.12.2012
comment
@msiyer интересно. Обратите внимание, что у вас есть список потенциальных проблем с ccservice по адресу build.sharpdevelop.net/ccnet/doc/CCNET/ или build .sharpdevelop.net / ccnet / doc / CCNET / FAQ.html. - person VonC; 06.12.2012