我有一个多配置 Jenkins 作业,它在多个从节点上并行运行我的测试。我想从这些从属构建中收集一些工件回到主控上,然后运行构建后步骤以从它们构建自定义 HTML 页面。
我已经设置好所有文件,因此这些文件似乎被复制回主文件,但我似乎无法访问它们。是否有人可以共享此配置的工作示例?
这是矩阵轴的作业配置:
和构建,它只创建一个 tmp.txt 文件:
和指纹,归档工件,然后发布构建步骤以将该文件复制回主服务器:
从控制台输出说复制成功(我们可以从插件源代码中看到任何错误都会被报告 - 我肯定看到当出现问题时这些错误会被记录):
17:39:23 [copy-to-slave] Copying '**/tmp.txt', excluding nothing, from 'file:/scratch/jenkins/workspace/Test%20Matrix%20Build%202/label/android/node_index/1/' on 'com.cloudbees.jenkins.plugins.mtslavescloud.MansionSlave@c9964fd8' to 'file:/home/<myaccount>/hudson_home/workspace/Test%20Matrix%20Build%202/label/android/node_index/1/' on the master.
但是,我似乎无法从主服务器上运行的 Post Build 脚本访问这些文件:
17:39:24 + cat label/android/node_index/1/tmp.txt
17:39:24 cat: label/android/node_index/1/tmp.txt: No such file or directory
这些文件似乎列在 master 的 Workspace 中:
我使用 $WORKSPACE 环境变量尝试了相同命令的版本,但它们也不起作用,例如
20:40:13 + cat '/scratch/jenkins/workspace/Test Matrix Build 2/label/android/node_index/1/tmp.txt'
20:40:13 cat: /scratch/jenkins/workspace/Test Matrix Build 2/label/android/node_index/1/tmp.txt: No such file or directory
...并且由于“ws”在 URL 中,我也尝试将其添加(也没有工作):
20:42:51 + cat '/scratch/jenkins/workspace/Test Matrix Build 2/ws/label/android/node_index/1/tmp.txt'
20:42:51 cat: /scratch/jenkins/workspace/Test Matrix Build 2/ws/label/android/node_index/1/tmp.txt: No such file or directory