Доступ к параметру файла в jenkins
Я работаю над многоконфигурационным заданием (Regression_L1) в Jenkins, задачей которого является запуск 2 видов тестов (test1 и test2). В задании с несколькими конфигурациями запускается задание исполнителя (Regression_executor) для запуска сценария для выбранного теста. Задание Regression_L1 ограничено для выполнения в узле matrix_service_jobs, в то время как задания матрицы должны выполняться в подчиненном узле custom_matrix_service_jobs. Задание Regression_executor ограничено для запуска на удаленных машинах с определенной меткой (RL1_Test_Machine).
Моя цель - протестировать пользовательскую сборку от разработчиков. И поэтому я добавил параметр File (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
,
Как я могу скопировать его на подчиненный узел, который выполняет тестовый скрипт?
2 ответа
Все, что вы вводите в "Расположение файла", это будет местоположение и переменная, которая содержит исходное имя файла загруженного файла.
Однако на *nix, ни /
ни .
допустимые символы имени переменной, так что в вашем случае, если "Расположение файла" CUSTOMBUILD/mybuild.zip
система не может создать переменную ${CUSTOMBUILD/mybuild.zip}
Файл все еще находится под ${WORKSPACE}/CUSTOMBUILD/mybuild.zip
, Вы также можете получить к нему доступ по этому пути.
Затем вы можете использовать плагин Copy To Slave, чтобы скопировать файл с мастера на подчиненные
Я не смог найти загруженный файл в WORKSPACE, поэтому я перестал использовать что-то вроде
"%JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_ID%\fileParameters\myUploadedFile"