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 节点也是类似的流程

相关推荐
谢亮_vipxieliang2 小时前
容器日志收集与管理:从 stdout 规范到 ELK/Loki 落地
运维·网络·人工智能·elk·docker·容器
YOLO数据集集合2 小时前
风力发电机检测数据集 | 风机检测 电缆塔识别 风电运维 无人机巡检 9122期
运维·人工智能·目标检测·目标跟踪·无人机·风力发电·电力巡检
天远API2 小时前
零信任架构实战:基于天远全网运营商三要素构建自动化骑手准入网关
运维·人工智能·架构·自动化
fengkai45453 小时前
十、Ceph 分布式存储5-8
运维·ceph·容器
你不是我我3 小时前
【AI 测评】群晖NAS部署CloudSaver:Docker安装、多源搜索、网盘转存与cpolar远程访问
运维·docker·容器
分布式存储与RustFS3 小时前
GitLab 对接 RustFS 实战:OIDC 控制台 SSO + 制品存储落 S3 对象存储
运维·云原生·开源·对象存储·分布式存储·s3
霸道流氓气质3 小时前
Graph Studio Web IDE 深度实战:可视化编排、断点调试与生产级运维全指南
运维·前端·ide
YoungStudyAI12 小时前
QA的下一个自动化阶段,可能不是再写更多脚本,而是设计测试Agent
运维·自动化
分布式存储与RustFS13 小时前
纠删码到底吃掉了多少容量:EC:4、EC:8 的利用率与容错怎么算
运维·云原生·开源·对象存储·分布式存储·s3·性能基准