2014-01-31 3 views
0

У меня есть два задания для создания одного и того же проекта в разных ветвях - Live и Dev Файлы pom идентичны в обоих случаях, и я использую профили для добавления другого удаленного репозитория, в котором хранятся зависимости для каждая ветка. Например, ядро ​​артефакта-SNAPSHOT.jar существует в обоих хранилищах.Force Jenkins получить из удаленного репозитория

У меня возникла проблема, при которой был создан проект ветви Dev, а Dev-core-SNAPSHOT.jar был обновлен, он будет загружен из репозитория Dev и сохранен в локальном репозитории. Затем, если проект Live branch был построен, он использовал бы локальный core-SNAPSHOT.jar, поскольку он был бы более новым, чем последний в Live-репозитории. Поскольку основная зависимость - это релиз SNAPSHOT, не нужно ли загружать ее каждый раз при создании проекта?

Есть ли способ сказать задание сборки jenkins, чтобы принудительно загружать определенные зависимости каждый раз при их создании или создавать 2 отдельных локальных репозитория и указывать соответствующие задания построения для каждого? Наличие конкретных репозиториев не является идеальным, поскольку у нас есть около 20 проектов в Dev и Live, причем все они имеют одинаковые иждивенцы.

Спасибо, Damian

ответ

0

Похоже, я понял это сам.

Для всех, кому это может быть интересно. Я создал отдельные каталоги на моем сервере Jenkins, и я настроил мои задания сборки для использования другого локального репозитория в зависимости от ветки. В Дженкинс строить «Цель и Options», я добавил

-Dmaven.repo.local=/var/lib/jenkins/repositories/{branchSpecificRepository}/ 

Это означает, что, если я обновлю что-нибудь в отрасли Dev, он будет тянуть вниз последний зависимости Dev, и если я потом строить Живые проекты они будут продолжать для использования старых проектов зависимостей.

Смежные вопросы