Файловая система Jenkins на сервере Linux против переменной Jenkins EXECUTOR_NUMBER

#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> суффикс.