#java #maven #jenkins #centos7
#java #maven #дженкинс #centos7
Вопрос:
У меня есть Jenkins на сервере Centos, где только одно задание вызывает «ДОМАШНЮЮ СТРАНИЦУ». Я хотел бы выполнить это задание параллельно, поэтому я настраиваю 5 исполнителей для главного узла.
На этой «ДОМАШНЕЙ странице» выполняется Java-программа, которая создает некоторые папки и файлы, которые мне нужно использовать. Поэтому мне нужно знать путь к файлам на сервере, который создавался во время этой работы. Проблема возникает, когда я запускаю это задание параллельно.
Для первой сборки Дженкинс назначил бы путь: /var/lib/jenkins/workspace/HOMEPAGE/
и executor_number=2
Для второй сборки: /var/lib/jenkins/workspace/HOMEPAGE@2/
и executor_number=4
Для третьего: /var/lib/jenkins/workspace/HOMEPAGE@3/
и executor_number=1
Для четвертого: /var/lib/jenkins/workspace/HOMEPAGE@4/
и executor_number=3
После выполнения я мог видеть эти папки на сервере:
Как вы можете видеть, номер папки домашней страницы не соответствует переменной executor_number в Jenkins.
Как я могу получить информацию от Jenkins о том, где он сохраняет результаты в текущей сборке? Будь то папка HOMEPAGE @ 2 или HOMEPAGE @ 4? Мне нужна эта информация для моей программы Java.
Вот фрагменты из вывода консоли:
Первая сборка:
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven: -B -f /var/lib/jenkins/workspace/HOMEPAGE/pom.xml -PHomepage -Djob_name=HOMEPAGE -Dexecutor_number=2
Третья сборка:
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven: -B -f /var/lib/jenkins/workspace/HOMEPAGE@3/pom.xml -PHomepage -Djob_name=HOMEPAGE -Dexecutor_number=1
Комментарии:
1. Вы проверили переменные среды, установленные Дженкинсом? Должен быть путь, связанный с заданием.
Ответ №1:
Переменная среды ‘WORKSPACE’ всегда будет содержать правильный путь, включая любой @<n>
суффикс.