0

我正在配置 Jenkins 工作流,要求使用 Linux(server1)作为工作流的编译部分,而不是使用 windows(server2)进行测试,因为测试工具与 Linux 不兼容,测试完成后需要切换回相同的 Linux( server1) 继续其余的工作流程。如果不可能,如何在同一工作流程中切换从属设备,还有其他方法可以实现这一点。欣赏建议!

4

2 回答 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 回答