我有 3 个应用程序需要构建。一种应用程序仅适用于 Linux,一种仅适用于 Windows,还有一种是跨平台的。目前,我在相关的构建系统上手动克隆存储库。我想自动化这个过程。
(最佳)解决方案应该是我有一个 2 节点的 Jenkins 集群,一个 Linux 节点和一个 Windows 节点。我在一个节点(无论哪个节点)上设置一个构建作业,并定义我的构建目标(跨平台、仅限 Linux、仅限 Windows)。作业定义在 Jenkins 集群内共享,不需要跨节点传输。
如何设置 2 节点 Jenkins“跨平台”集群?如何为特定的作业定义定义构建目标(cross、Linux、Windows)?
在将 Windows 和 Linux 执行器添加到 Jenkins 时,一定要给它们适当的
linux
和windows
标签。然后,在你的 Jenkinsfile 中,使用 multiple
agent
来定义几个不同的执行环境。例如:
下面是官方文档中的一个示例,介绍如何在
agent
Linux 和 Windows 等不同平台上运行不同的步骤。这是该
agent
指令的完整文档。这是用于声明性管道。如果您使用的是脚本化管道,请
node()
改用。