在jenkins中访问文件参数

时间:2015-05-14 08:06:18

标签: jenkins jenkins-plugins multi-configuration

我正在Jenkins工作一个多配置作业( Regression_L1 ),其任务是运行两种测试( test1和test2 )。在多配置作业中,它会触发执行程序作业( Regression_executor )来运行所选测试的脚本。 Regression_L1 作业仅限于在 matrix_service_jobs 节点中运行,而矩阵作业将在从属节点 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

如何将其复制到执行测试脚本的从属节点?

2 个答案:

答案 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"