Есть ли способ изменить рабочий каталог сборки Jenkins Maven?
Есть ли способ изменить рабочий каталог сборки Jenkins Maven?
Пример использования
Существует сборка Maven, которая будет работать только в том случае, если текущий рабочий каталог представляет собой каталог с pom.xml, поэтому я хочу, чтобы сборка Maven выполнялась в этом каталоге.
Каталог с pom.xml находится в подкаталоге проекта git.
Ответы
Ответ 1
Создайте цель для проверки родителя.
- Оформить родительский родительский указатель вашей цели сборки
- Set Build → Goal = clean
- Запустите сборку и определите каталог рабочей области назначения (вторая строка вывода консоли в моем примере /var/lib/jenkins/workspace/my _project)
Создайте цель для создания своего пути
- НЕ проверять "Удалить рабочее пространство до начала сборки"
- В сборке → Дополнительно - установите флажок "Изменить папку рабочего пространства" и вставьте каталог /yourtargetdirectory
Это сработало для меня.
Ответ 2
Не уверен, когда это было добавлено, но для Jenkins передо мной (Jenkins ver. 1.627 в нижней части страницы) теперь есть возможность определить, где находится корень pom.xml(в сообщении справки:
Если ваше рабочее пространство имеет pom.xml верхнего уровня в другом месте, кроме корневой каталог 1-го модуля, укажите путь (относительно module root) здесь, например parent/pom.xml. Если оставить пустым, по умолчанию используется значение pom.xml
). Я столкнулся с одной и той же проблемой, но потом понял, что ответ смотрел мне в лицо (обратите внимание, что мне не нужно было продвигаться вперед, как предположил Hua2308, вероятно, потому, что они изменили интерфейс)
Ответ 3
Для справки, вот что работает для меня. На шаге "Вызовы верхнего уровня Maven" вы можете создать кнопку "Дополнительно...". Если вы нажмете эту кнопку, вы можете указать относительный путь к вашему файлу POM.xml. Это должно гарантировать, что вы создаете только желаемый проект в подкаталоге.
Ответ 4
Вы можете использовать параметр Maven -f
-f,--file <arg> Force the use of an alternate POM file (or directory with pom.xml).
Например, если ваш проект имеет структуру:
README.md
sources
|----pom.xml
|----services
| |----pom.xml
| +----src
|----webservices
| |----pom.xml
| +----src
+----....
useful
docs
то вы можете использовать Goals
в Invoke top-level Maven targets
:
-f sources/pom.xml clean install
Ответ 5
Перейдите в конфигурацию вашего проекта maven, затем:
Сборкa > нажмите кнопку "Дополнительно" > установите флажок "Использовать настраиваемое рабочее пространство" > установите каталог
(Я использую версию Jenkins 1.508)
Ответ 6
Дженкинс, с которым мы работаем, находится на немецком языке, поэтому я пытаюсь угадать, как переводятся варианты.
Перейдите к настройке вашего проекта и перейдите к расширенной конфигурации проекта (это вторая часть) и расширьте его. Последний пункт должен быть чем-то вроде Change folder of workspace
. Я думаю, это может быть то, что вы ищете.
В противном случае вы всегда можете перейти к параметрам Build
и изменить путь к вашему pom.xml
Ответ 7
Решение:
cd subfolder; mvn -f ../pom.xml task
Maven не дает возможности сделать это наоборот, то есть разумный способ для этого случая использования, вероятно, потому, что Maven ненавидит вас.