Это стало следствием вопроса о том, хорошо ли интегрированы 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, и мы также можем быть готовы к новым улучшениям в будущем. Я также полагал, что когда я его настроил и попробовал, он был более подготовлен к большой коммерческой среде, потому что вы могли настроить группы в менеджере хранилища на более гибкие - полезные для большого числа проектов.