Подтвердить что ты не робот

Есть ли способ изменить рабочий каталог сборки Jenkins Maven?

Есть ли способ изменить рабочий каталог сборки Jenkins Maven?

Пример использования

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

Каталог с pom.xml находится в подкаталоге проекта git.

4b9b3361

Ответ 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 ненавидит вас.