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

Как добавить переменную пути в оболочку задания

Я создаю Jenkins для замены нашей текущей сборки TeamCity CI.

Я создал бесплатный проект программного обеспечения, чтобы я мог выполнить оболочку script. Оболочка script запускает команду mvn.

Но сборка не отвечает, что команда "mvn" не найдена.

Я понял, что это потому, что Jenkins запускает сборку в другой оболочке, которая не имеет Maven на этом пути.

Мой вопрос: как добавить путь, так что "mvn" находится в моей оболочке script? Я осмотрелся, но не могу определить, где именно находится место.

Спасибо за ваше время.

4b9b3361

Ответ 1

Я решил это, экспортировав и установив Путь в конфигурации Jenkins Job, где вы можете ввести команды оболочки. Поэтому я устанавливаю переменную среды перед выполнением моей оболочки script, работает с удовольствием.

Ответ 2

Некоторые возможные решения:

  • Вы можете вызвать maven с абсолютным путем
  • Вы настраиваете глобальную переменную окружения в системных настройках jenkins с абсолютным путем к вашему экземпляру maven и используете это в своем вызове script (если вы используете встроенную оболочку script), я не знаю, заменяются на вызываемый script, вам нужно протестировать)
  • Вы используете проект maven и настраиваете свой экземпляр maven в системных настройках jenkins.

ps.: Обычно /bin/sh выбирается из Jenkins, если вы хотите переключиться на, например. bash, вы можете настроить это в системных настройках jenkins, если вы хотите настроить глобальные переменные среды.

Ответ 3

Вы можете использовать envInject плагин. Это очень мощный.

Я использую его для установки rbenv. И он может вставлять переменные среды в текущее задание.

Ответ 4

Еще один вариант предложения Dags заключается в том, что если вы используете только одну версию maven, на каждом подчиненном сервере вы можете это сделать;  * добавить PATH = ${PATH}:  * symlink mvn в /usr/bin с; sudo ln -s/usr/bin

На данный момент я не в коробке Дженкинса, но я могу найти более подробные примеры, если вы хотите.

Ответ 5

Дженкинс использует sh по умолчанию, а не bash. Это мой первый раз, когда я определял работу jenkins maven, и я также следил за регулярными командами maven (для запуска из командной строки...) и пытался обновить ~/.bashrc с помощью M2_HOME, M2, PATH, но это не так потому что дженкинс использовал sh, а не bash. Затем я узнал, что в дженкинсах есть более простой и лучший способ.

После установки maven я должен был настроить мою установку maven в jenkins.

Чтобы настроить установку maven в Jenkins:

  • войти в jenkins веб-консоль
  • нажмите Управление Jenkins → Настройка системы
  • В разделе Maven нажмите кнопку "Maven Installations..."
  • a. Дайте ему несколько имен b., а в MVN_HOME задайте путь к тому месту, где вы установили maven, например "/usr/local/apache-maven/apache-maven-3.0.5"
  • Нажмите кнопку "Сохранить"

Определить задание с целью maven

  • отредактируйте свою работу.
  • Нажмите "Добавить шаг сборки"
  • в версии Maven, введите имя, которое вы указали для своей установки maven (шаг № 4 выше)
  • установить некоторую цель, как чистую установку