Я работаю на мультиконфигурации работу (Regression_L1) в Дженкинс, задачей которого является запуск 2-х видов испытаний (test1 и test2). В задании многоконфигурации он запускает задание исполнителя (Regression_executor) для запуска сценария для выбранного теста. Задача Regression_L1 может выполняться в matrix_service_jobs узел, в то время как задания на матрицу должны выполняться в подчиненном узле custom_matrix_service_jobs узел. Задача Regression_executor предназначена для работы на удаленных компьютерах с определенной меткой (RL1_Test_Machine).Доступ в Дженкинс
Моя цель - протестировать пользовательскую сборку у разработчиков. И поэтому я добавил параметр файла (config - File Location: CUSTOMBUILD/mybuild.zip) для задания. Вопрос в том, как я могу получить доступ к загруженному файлу?
Некоторые важные сведения:
- рабочее пространство Regression_executor в:
/home/regressionexec/
- рабочее пространство Regression_L1 в:
/var/work/matrix_service_jobs/Regression_L1
- Regression_l1 матричные рабочие области:
/var/work/workspace_user_matrix/workspace/Regression_L1/TEST_PHASE/test1/label/custom_matrix_service_jobs/
и/var/work/workspace_user_matrix/workspace/Regression_L1/TEST_PHASE/test2/label/custom_matrix_service_jobs/
- $ JENKINS_HOME:
var/work/jenkins_home
Я не знал, где найти загруженные файлы, поэтому я сделал поиск ung linux find
. Результат: /var/work/jenkins_home/Regression_L1/TEST_PHASE/test2/label/custom_matrix_service_jobs/builds/${BUILD_NUMBER}/fileParameters/CUSTOMBUILD/mybuild.zip
.
Как скопировать его на подчиненный узел, который выполняет тестовый скрипт?
I думаю, моя проблема в части $ {WORKSPACE}. в качестве параметра для исполнителя передается 'PACKAGE_PATH = echo '$ {WORKSPACE} /CUSTOMBUILD/mybuild.zip" >> env.txt', однако эквивалент PACKAGE_PATH указывает на путь, который не существует. Фактически, когда я пытался использовать 'find' в мастер-машине, я нашел загруженный файл в JENKINS_HOME, который отличается от рабочего пространства задания. См. ** Некоторая важная информация ** в моем оригинальном посте. Да, Скопировать в Slave-плагин, похоже, то, что мне нужно. Однако это зависит от получения пути к загруженному файлу. Благодарю. – ac22
Попробуйте изменить 'CUSTOMBUILD/mybuild.zip' просто на' mybuild', а затем посмотрите в рабочей области задания (через Jenkins UI). Файл должен быть там. Obvsiouly, это для задания, которое фактически запрашивает параметр файла. Файл, найденный вами с помощью 'find', существует, потому что именно Дженкинс отслеживает параметры прошлого сборки (и это параметр). Содержимое '$ WORKSPACE' также является изменчивым, и его можно использовать только ** во время сборки. – Slav
Мой плохой. Я ошибся на этапе сборки. Я включил в себя шаг по очистке рабочей области 'rm -rf *', поэтому параметр файла удаляется перед запуском исполнителя. Большое спасибо! – ac22