我正在配置一个Jenkins工作流程,要求是使用Linux(server1)编译部分工作流程而不是windows(server2)进行测试,因为测试工具与Linux不兼容,测试完成后需要切换回相同的Linux(server1)继续其余的工作流程。 如果不可能,如何在相同的工作流程中切换从属,有什么其他方法来实现这一点。 感谢建议!
答案 0 :(得分:2)
如果通过jenkins-workflow,你的意思是Jenkins Pipeline,那么你可以这样做:
node('server1') {
//some compilation steps
node('server1') {
// more compilation steps
}
//continue workflow for server1
}
您可以使用stash
/ unstash
步骤在节点之间发送任何文件。
答案 1 :(得分:0)
一种可能的方法是使用包装器作业,该作业使用其他项目上的触发/调用构建来启动编译和测试作业。
这样你可以借助归档工件选项(你将使用编译后构建操作)和Copy Artifacts Plugin(你使用它)来移动工件在测试构建步骤中。
您可以通过作业中的默认配置轻松定义作业在哪台机器/标签上运行,或者在NodeLabel Plugin的帮助下动态定义
你也可以尝试提到选项3 here,但我不确定它是否可以在不同机器之间移动文件时起作用。
可能值得一试,但好像它有效,这可能会更方便。