Maven, Hudson и Dynamic Clearcase Представления - PullRequest
3 голосов
/ 18 ноября 2008

Это стало следствием вопроса о том, хорошо ли интегрированы Apache Maven и IBM Rational ClearCase. Думаю, мне следует написать то, что я узнал - потребуются различные правки, но я в конечном итоге найду все, чтобы добавить все, что надеюсь.

Окружающая среда

ClearCase - Версия 7.0.1.2 ClearCase.

Maven - Все они с сайта Maven .

Hudson - Версия 1.307, загруженная прямо с сайта Hudson


Вопросы

  • Работает ли Maven из VOB?

Я установил все версии Maven2 в «сложенный» VOB, т. Е. Добавил версию 2.0 - пометил ее, заблокировал метку - затем добавил 2.0.1 сверху.

Чтобы предотвратить появление посторонних файлов, я использовал флаг -rnname в clearfsimport.

Таким образом, я мог бы просто использовать метку, чтобы указать версию Maven, к которой я хотел получить доступ в моей спецификации конфигурации, но при этом сохранить тот же путь для исполняемого файла maven - / maven / bin / mvn.

Как только все версии были установлены, у меня не было проблем с запуском Maven оттуда через Dynamic View. Репозитории загружаются из внутренней установки Nexus в домашний каталог пользователей в обычном режиме, и это избавляет от любых проблем с регистрацией и выходом.

Преимущество сохранения инструмента в управлении исходным кодом заключается в том, что вы можете устанавливать настройки для всей компании (например, указывать на внутренний репозиторий), а затем запускать этот единственный экземпляр Maven из VOB на любой платформе, которая сохраняет настройки, которые вы используете. изначально установлено!

В проектах Maven я сохранял только каталог src и файл pom.xml в контроле исходного кода, поскольку все остальное может быть сгенерировано автоматически.

  • Работает ли Hudson с ClearCase?

У меня не было проблем с настройкой Hudson для работы с ClearCase Dynamic Views. Для этого потребовалась только символическая ссылка из рабочего каталога Хадсона в корень представления (в данном случае / view / xxx). Плагин ClearCase успешно запустил ct lshistory , чтобы выяснить, произошли ли какие-либо изменения в ветви интеграции, в которую объединяются разработчики.

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

В общих настройках Hudson я использовал переменную среды $ CLEARCASE_VIEW, чтобы указать путь к исполняемому файлу Maven. Таким образом, версия Maven зависела от версии, установленной в спецификации конфигурации, а не от той, которую они выбрали в Hudson.

Это экономит дополнительное администрирование как для меня (администратора), так и для моих пользователей.

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

Я настроил Sonatype Nexus в качестве менеджера внутреннего репозитория - прежде всего потому, что прочитал в блоге Sonatype , что Hudson собирается стать более интегрированным с Nexus, и мы также можем быть готовы к новым улучшениям в будущем. Я также полагал, что когда я его настроил и попробовал, он был более подготовлен к большой коммерческой среде, потому что вы могли настроить группы в менеджере хранилища на более гибкие - полезные для большого числа проектов.

Ответы [ 3 ]

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

У меня есть несколько репозиториев Maven вне ClearCase, для некоторых сторонних библиотек.

Но я никогда не использовал Maven с ClearCase, поскольку они следуют другой логике (Maven нужны подписанные имена для файлов, например myfile-1.2.jar, тогда как ClearCase может хранить только myfile.jar и записывать факт это версия с надписью 1.2)

Возможно, это изменилось с помощью плагина Maven2 ClearCase , о котором сообщило romaintaz , но в этом новом продукте все еще есть некоторые ошибки, о чем свидетельствует этот поток , когда один запускает его во второй раз, не открывая файл pom. Maven успешно проходит проверку, но не может сделать следующий шаг.

INFO Checking out file: /opt/viewstore/common/maven/my_lf_ss/vobs/test_alm/LF_Build/pom.xml
INFO ERROR BUILD FAILURE
INFO INFO Unable to enable editing on the POM
Provider message:
The cleartool command failed.
Command output:
cleartool: Error: Element "/opt/viewstore/common/maven/my_lf_ss/vobs/test_alm/LF_Build/pom.xml" is already checked out to view "my_lf_ss".
1 голос
/ 18 ноября 2008

У меня был тимбилдинг с Maven 2 и использованием Clearcase в качестве системы контроля версий. Мы использовали Archiva в качестве хранилища для встроенных артефактов, поэтому команде разработчиков не нужно было использовать плагин SCM.

Однако сервером непрерывной интеграции был Continuum, и он полагался на информацию SCM в POM. У нас были проблемы с захватом снимков с помощью Clearcase SCM с использованием стратегии ветвления. Один из моих разработчиков должен был настроить SCM-код Clearcase, чтобы он работал с нашими ветками. Мы оба пошли дальше, прежде чем мы смогли внести свой вклад.

1 голос
/ 18 ноября 2008

Я не использую этот SCM, но есть плагин Maven2 , называемый SCM, который обрабатывает Clearcase.

...