Jenkins 如何配置工作节点

说明

Jenkins 也有类似 Nginx 那一套,Master 节点、Worker 节点

官方推荐是 Master 节点不干活,只做统一协调与调度,Worker 节点负责执行具体的构建任务

本文介绍如何配置 Worker 节点

配置

在控制台,系统设置中,点击 节点与云管理

可以看到目前就一个 Master 节点,也就是 Jenkins 服务器本身。点击右侧的 New Node,新增一个节点

设置名称,windows 表示该节点是 windows 环境,可用于在 windows 环境完成构建的项目

设置一波,保存

这就新增完成了

启动

节点如何和 Jenkins 服务器建立连接呢?点击该节点,执行相应的命令,下载 Jar 包并指定参数运行

如下,我上面展示的 IP 地址末位不对,需要手动改一下,大家也注意一下,这个 IP 就是 Jenkins 服务器的 IP

注:因为 VMware 虚拟机的 IP 不固定,Jenkins 部署那时可能是 192.168.101.10

回到 Jenkins,可见该节点已在线,磁盘信息也同步过来了

使用

需要注意的是,使用某个节点执行构建任务,使用的环境或者工具都是该节点的,不是 Jenkins 服务器的

像下面这个项目,完成构建所需的环境是 Git(拉代码)、Maven(编译打包)

也就是说,指定上面新增的 windows 节点完成上面这个项目的构建任务,该节点必须要有这两个工具,如下

下面创建任务,以上面这个 Github 仓库为例,写流水线脚本,注意 agent { label 'windows' } 指定用 windows 节点打包

powershell 复制代码
pipeline {
    agent { label 'windows' }

    stages {
        stage('拉取代码') {
            steps {
                retry(6) {
                    checkout([
                        $class: 'GitSCM',
                        branches: [[name: 'main']],
                        gitTool: 'git-windows',
                        userRemoteConfigs: [[url: 'https://github.com/HeZhongYing/mysql-registry-demo.git']]
                    ])
                }
            }
        }

        stage('构建打包') {
            steps {
                bat 'mvn -B clean package -DskipTests'
            }
        }
    }

    post {
        always {
            archiveArtifacts artifacts: '*-service/target/*-SNAPSHOT.jar', fingerprint: true
        }
    }
}

构建试一波

可以看到是这个 windows 节点在干活

构建完成

看下构建产生的数据存储在 windows 节点配置的目录,如果上面的流水线脚本有后续传 Jar 包到部署服务器上的步骤,也应该是从当前节点传输到那台服务器,而不是从 Jenkins 服务器传(Jenkins 服务器上连产物都没有,怎么传),或者先从 windows 节点传给 Jenkins 服务器,Jenkins 服务器再传到指定的部署节点上

另外

新增 Linux 节点也是类似的流程

相关推荐
众壹新能源科技5 小时前
逆变器自带无功不够用,加装5MVar SVG后功率因数从0.85回到0.99
运维·人工智能·自动化
..Dauntless..5 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
QMCY_jason5 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
重生之小比特5 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
考拉讲支付5 小时前
母婴亲子服务平台分账架构设计:多场景多方分账与合规清结算实践
大数据·运维·人工智能·微信小程序·架构·微信公众平台
LateFrames6 小时前
“场控软件” 如何容错与运维
运维·容错·led大屏·播控系统·场控软件
あ-6 小时前
CubeSandBox配置CubeMaster CPU 超分
linux·运维·服务器
艾伦_耶格宇6 小时前
【DOCKER容器实战】-5 Docker容器镜像的构建
运维·docker·容器
速捷工控 PLC触摸屏还原程序7 小时前
S7-200 SMART程序上传提示密码?维修、改造和换机怎么选处理路径?
运维·服务器
程序员-Benothing7 小时前
Linux抓包分析教程:tcpdump、Wireshark、tshark实战
linux·运维·服务器