Как можно получить доступ к динамическому представлению в Hudson из сценария KornShell?

Используя динамическое представление Clearcase, журнал заданий Hudson показывает, что все команды lsview, startview и lshistory cleartool выполнены успешно.
Однако последующий сценарий сборки (SunOS KornShell (ksh)) не может получить доступ к каталогам представления.

Запуск «cleartool pwv» вместо сценария оболочки дает:

Working directory view: ** NONE **
Set view: ** NONE **

Это подтверждает, что оболочка, вызванная Hudson, работает в своем собственном мире.
Это правильное поведение Hudson или мы неправильно его настроили?

P.S. сценарий ksh можно настроить, но это одна из тех устаревших вещей, которые мы должны сохранить.


person belwood    schedule 14.02.2011    source источник


Ответы (1)


Если вы хотите, чтобы cleartool pwv возвращал представление, вам нужно убедиться, что ваш скрипт будет выполняться сам с путем представления (/view/myDynamicView для динамических представлений).

Я рекомендую использовать существующее динамическое представление в вашем задании Hudson.

Я бы не стал использовать в вашем сценарии путь типа /vobs/aVob/.../, потому что /vobs — это точка монтирования (только одна), которую нужно установить для одного динамического представления. И ваш сценарий мог не установить динамическое представление (на /vobs, см. cleartool setview). Использование полного абсолютного пути более надежно.
(Примечание: я не знаю, использует ли ваш скрипт этот ярлык, но я просто упомянул здесь, чтобы полностью осветить эту тему)

person VonC    schedule 14.02.2011
comment
Звучит многообещающе, но у меня есть два вопроса. 1. Мы используем существующее динамическое представление, но путь /blah/viewstore/views вместо /view (и мы настроили его в Hudson) — это проблема? 2. да, сценарии для запуска находятся в каталоге /vobs/project/scripts, доступном только в представлении. Будет ли это работать? - person belwood; 14.02.2011
comment
Кроме того, сценарий устанавливает представление (и вывод говорит, что это успешно), но последующая логика сценария жалуется, что представление необходимо установить - странно. - person belwood; 14.02.2011
comment
@belwood: если под viewstore вы имеете в виду хранилище представлений, то я считаю, что это не то, что означает поле «view root». /view/myDynamicView больше подходит. 2. Я бы очень рекомендовал избегать /vobs/. Он создает подпроцесс, в котором вы не уверены в своей переменной среды. Если вам нужен фиксированный путь, сначала сделайте ссылку на правильное представление и используйте эту символическую ссылку (сам не проверял). Если вы все еще хотите использовать /vobs, вам нужно сначала убедиться, что cleartool setview был запущен. - person VonC; 14.02.2011
comment
@belwood: опять же, cleartool setview установите представление и создайте подпроцесс, к которому, я не думаю, у процесса Хадсона есть доступ. Я всегда считал, что setview дело скорее хлопотное, чем полезное. - person VonC; 14.02.2011
comment
Решена одна из проблем с оболочкой, вызвав cleartool setview -exec 'buildscript.ksh' $CLEARCASE_VIEWNAME вместо двух команд в отдельных строках в окне Hudson Shell. Эта часть работает безупречно до сих пор. Теперь мы рассмотрим, как удалить зависимость /vobs. Еще раз спасибо! - person belwood; 16.02.2011
comment
@belwood: но если вы заставляете бит cleartool setview работать, вам нужно использовать путь /vobs/..., не так ли? (поскольку setview — это монтирование содержимого правильного представления на /vobs) - person VonC; 16.02.2011
comment
Не обращайте внимания на комментарий зависимости /vobs; перечитайте свой предыдущий комментарий, но не во время крэка %-). Теперь это имеет больше смысла - еще раз спасибо. - person belwood; 16.02.2011
comment
@belwood: я не знал о смайлике на крэке %-). Отлично! :) - person VonC; 16.02.2011