4

我正在 Jenkins 中从事多配置工作(Regression_L1),其任务是运行 2 种测试(test1 和 test2)。在多配置作业中,它会触发一个执行器作业 ( Regression_executor ) 为所选测试运行脚本。Regression_L1作业被限制在matrix_service_jobs节点中运行,而矩阵作业被限制在从节点custom_matrix_service_jobs节点中运行。Regression_executor作业仅限于在具有特定标签 (RL1_Test_Machine) 的远程机器中运行。

我的目标是测试开发人员的自定义构建。所以我为这项工作添加了一个文件参数(config - 文件位置: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

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

4

2 回答 2

7

无论您在“文件位置”下输入什么,都将是保存上传文件的原始文件名的位置变量。

但是,在 *nix 上,既不是有效的变量名字符/也不.是有效的变量名字符,因此在您的情况下,如果“文件位置”是CUSTOMBUILD/mybuild.zip系统无法创建变量${CUSTOMBUILD/mybuild.zip}

该文件虽然仍然放在${WORKSPACE}/CUSTOMBUILD/mybuild.zip. 您也可以使用此路径访问它。

然后,您可以使用Copy To Slave 插件,将文件从 master 复制到您的 slave

于 2015-05-14T15:50:53.673 回答
0

我在 WORKSPACE 下找不到我上传的文件,所以我结束了使用类似的东西

"%JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_ID%\fileParameters\myUploadedFile"
于 2017-09-07T15:30:51.793 回答