在詹金斯访问文件参数
Access file parameter in jenkins
我正在 Jenkins 中进行多配置作业(Regression_L1),其任务是 运行 2 种测试(test1 和 test2)。在多配置作业中,它会触发一个执行程序作业(Regression_executor)到运行 脚本来选择测试。 Regression_L1 作业仅限于 matrix_service_jobs 节点中的 运行,而矩阵作业是 运行在slave节点custom_matrix_service_jobs节点。 Regression_executor 作业被限制在具有特定标签 (RL1_Test_Machine) 的远程计算机中的 运行。
我的目标是测试开发人员的自定义构建。因此,我为作业添加了一个文件参数(配置 - 文件位置: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
.
如何复制到执行测试脚本的slave节点?
无论您在“文件位置”下输入什么,都将是位置和保存上传文件原始文件名的变量文件。
但是,在 *nix 上,/
和 .
都不是有效的变量名称字符,因此在您的情况下,如果 "File Location" CUSTOMBUILD/mybuild.zip
系统无法创建变量${CUSTOMBUILD/mybuild.zip}
该文件仍然位于 ${WORKSPACE}/CUSTOMBUILD/mybuild.zip
下。您也可以通过此路径访问它。
然后您可以使用Copy To Slave plugin,将文件从master复制到您的slave
我在 WORKSPACE 下找不到我上传的文件,所以我结束了使用
"%JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_ID%\fileParameters\myUploadedFile"
我正在 Jenkins 中进行多配置作业(Regression_L1),其任务是 运行 2 种测试(test1 和 test2)。在多配置作业中,它会触发一个执行程序作业(Regression_executor)到运行 脚本来选择测试。 Regression_L1 作业仅限于 matrix_service_jobs 节点中的 运行,而矩阵作业是 运行在slave节点custom_matrix_service_jobs节点。 Regression_executor 作业被限制在具有特定标签 (RL1_Test_Machine) 的远程计算机中的 运行。
我的目标是测试开发人员的自定义构建。因此,我为作业添加了一个文件参数(配置 - 文件位置: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
.
如何复制到执行测试脚本的slave节点?
无论您在“文件位置”下输入什么,都将是位置和保存上传文件原始文件名的变量文件。
但是,在 *nix 上,/
和 .
都不是有效的变量名称字符,因此在您的情况下,如果 "File Location" CUSTOMBUILD/mybuild.zip
系统无法创建变量${CUSTOMBUILD/mybuild.zip}
该文件仍然位于 ${WORKSPACE}/CUSTOMBUILD/mybuild.zip
下。您也可以通过此路径访问它。
然后您可以使用Copy To Slave plugin,将文件从master复制到您的slave
我在 WORKSPACE 下找不到我上传的文件,所以我结束了使用
"%JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_ID%\fileParameters\myUploadedFile"