如何为单一/跨平台开发设置 Jenkins CI 集群?

如何为单一/跨平台开发设置 Jenkins CI 集群?

我有 3 个应用程序需要构建。一个应用程序仅适用于 Linux,一个仅适用于 Windows,一个是跨平台的。目前,我在相关构建系统上手动克隆存储库。我想自动完成此过程。

(最佳)解决方案应该是我有一个 2 节点的 Jenkins 集群,一个 Linux 节点和一个 Windows 节点。我在一个节点(无论哪个节点)上设置了一个构建作业,并定义了我的构建目标(跨平台,仅限 Linux,仅限 Windows)。作业定义在 Jenkins 集群内共享,无需跨节点传输。

如何设置 2 节点 Jenkins “跨平台” 集群?如何定义构建目标(跨、Linux、Windows)是否有具体的工作定义?

答案1

将 Windows 和 Linux 执行器添加到 Jenkins 时,请确保为它们提供适当的linux标签windows

然后,在你的Jenkinsfile中,使用多个agent来定义几个不同的执行环境。

例如:

pipeline {
    agent none
    stages {
        stage('Build on Linux') {
            agent { 
                label 'linux'
            }
            steps { 
                sh 'my-build-command'
            }
        }
        stage('Build on Windows') {
            agent {
                label 'windows'
            }
            steps {
                bat 'myBuildCommand' 
            }
        }
    }
}

以下是官方文档中的一个示例,介绍如何agent在 Linux 和 Windows 等不同平台上运行不同的步骤。

这是该指令的完整文档agent

这是用于声明式管道。如果您正在使用脚本式管道,请使用node()

相关内容