Является ли триггеры UCM в прозрачном режиме проблематичными в многосайтовой среде? - PullRequest
1 голос
/ 11 января 2012

Чтобы добиться непрерывной интеграции, я подумал о написании триггеров Clearcase.

Я узнал, что триггер после операции [после доставки в поток интеграции] будет мне полезен.

Iпросто посоветуйтесь с моим архитектором по поводу реализации триггера.

Он сказал, чтобы я не использовал его, так как триггеры неприятны в многосайтовой среде.

Это миф или правда?Кто-нибудь сталкивался с проблемами, которые делали их сборки более раздражающими из-за триггеров?

Подскажите, пожалуйста, безопасно ли использовать триггеры в многосайтовой среде или нет?

1 Ответ

1 голос
/ 11 января 2012

Ваш архитектор мог сослаться на этот технот , который указывает на тот факт, что:

Конструктивно типы триггеров должны создаваться локально в каждом VOB.

Типы триггеров, в отличие от других типов метаданных (метки, атрибуты, ветви, элементы, гиперссылки), не могут быть созданы как глобальные ресурсы в административном VOB, поскольку они не могут должным образом проходить по гиперссылкам; именно так административные VOB подключаются к своим клиентским VOB.

Вы можете попробовать скопировать триггер:

Команда cptype (тип копирования) создает объект нового типа, который является копией объекта существующего типа. Существующие и новые объекты могут находиться в одном и том же VOB или в разных VOB. Копия может иметь то же имя, что и оригинал, только если вы делаете копию в другом VOB.

Но:

Два объекта, оригинал и копия, не сохраняют никакого соединения после выполнения этой команды .
Это просто два объекта с одинаковыми свойствами и, возможно, даже с одинаковым именем. Если в триггере есть какие-либо изменения, например, с использованием cleartool mktrtype -replace, то эти изменения необходимо вносить вручную в каждую копию триггера, или вы должны выполнить копирование снова, используя переключатель -replace; см. cptype справочную страницу для получения дополнительной информации.


Я бы рекомендовал использовать внешнюю систему для мониторинга, запуска и создания отчетов о вашей непрерывной интеграции.

Вы можете либо:

  • упростите настройку ClearCase, используя CCRC вместо многопользовательского рабочего процесса.
    В этом случае может помочь статья « Непрерывная интеграция с IBM Rational ClearCase Remote Client » (вам не нужно использовать CruiseControl: в этом случае одинаково хороши Jenkins, Hudson или TeamCity)

CI with CCRC

  • в более общем смысле, позволяя инструментам CI (опять-таки: CruiseControl: Jenkins или Hudson или TeamCity) отслеживать конкретное представление, в котором говорится, что инструмент CI регулярно обновляет, обнаруживать любые изменения и запускать сборку. См. « Реализация непрерывной интеграции ».

CI example

...