我正在Jenkins工作一个多配置作业( Regression_L1 ),其任务是运行两种测试( test1和test2 )。在多配置作业中,它会触发执行程序作业( Regression_executor )来运行所选测试的脚本。 Regression_L1 作业仅限于在 matrix_service_jobs 节点中运行,而矩阵作业将在从属节点 custom_matrix_service_jobs 节点中运行。 Regression_executor 作业仅限于在具有特定标签的远程计算机(RL1_Test_Machine)中运行。
我的目标是测试开发人员的自定义构建。所以我为作业添加了一个文件参数(配置 - 文件位置: CUSTOMBUILD / mybuild.zip )。问题是如何访问上传的文件?
一些重要信息:
/home/regressionexec/
/var/work/matrix_service_jobs/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/
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
。
如何将其复制到执行测试脚本的从属节点?
答案 0 :(得分:3)
无论您在“文件位置”下输入什么内容,都可以是和位置,其中包含上传文件的原始文件名。
但是,在* nix上,/
和.
都不是有效的变量名字符,因此在您的情况下,如果“文件位置”为CUSTOMBUILD/mybuild.zip
系统无法创建变量${CUSTOMBUILD/mybuild.zip}
该文件仍位于${WORKSPACE}/CUSTOMBUILD/mybuild.zip
下。您也可以使用此路径访问它。
然后,您可以使用 Copy To Slave plugin 将文件从master复制到奴隶
答案 1 :(得分:0)
我无法在WORKSPACE下找到我上传的文件,因此我结束了使用类似
的内容"%JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_ID%\fileParameters\myUploadedFile"