我正在配置 Jenkins 工作流,要求使用 Linux(server1)作为工作流的编译部分,而不是使用 windows(server2)进行测试,因为测试工具与 Linux 不兼容,测试完成后需要切换回相同的 Linux( server1) 继续其余的工作流程。如果不可能,如何在同一工作流程中切换从属设备,还有其他方法可以实现这一点。欣赏建议!
问问题
615 次
2 回答
2
如果 jenkins-workflow 你的意思是Jenkins Pipeline那么你可以这样做:
node('server1') {
//some compilation steps
node('server1') {
// more compilation steps
}
//continue workflow for server1
}
stash
您可以使用/unstash
步骤在节点之间发送任何文件。
于 2016-04-02T15:55:57.787 回答
0
一种可能的方法是使用包装器作业,该作业在其他项目上使用触发器/调用构建开始编译和测试作业。
这样,您可以借助存档工件选项(您将在编译后构建操作中使用)和复制工件插件(您将在测试构建步骤中使用)来移动工件。
您可以通过作业中的默认配置轻松定义作业在哪台机器/标签上运行,或者在NodeLabel 插件的帮助下动态定义
笔记
您也可以尝试此处提到的选项 3 ,但我不确定当文件必须在不同机器之间移动时它是否有效。
可能值得一试,如果它有效,那可能会更方便。
于 2016-04-01T14:33:31.713 回答