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

相关推荐
分布式存储与RustFS1 小时前
OpenSearch 的索引快照别只留本地:用 repository-s3 存进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
瑞克-桑切斯1 小时前
docker Harbor 单机部署手册
大数据·运维·elasticsearch·docker·容器
奶茶树2 小时前
【Linux】环境开发工具(vim,gcc,g++,Makefile)
linux·运维·vim
机 _ 长2 小时前
05 智算运维|8 张卡怎么才算「捆成一张」:NCCL 实测与拓扑
运维·人工智能·算法·智算运维
andxe3 小时前
工业级 PoE 交换机选型指南:破解边缘部署四大核心难题
运维·网络·安全·光通信·交换机
Decay__4 小时前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
木子欢儿5 小时前
国内 macOS/Linux 安装 rust
linux·运维·服务器·macos·rust
迪菲赫尔曼5 小时前
【基础篇 26】第一次在服务器完成训练:准备数据、断线继续、检查成果与备份
运维·服务器·人工智能·机器学习·计算机视觉
进击的荆棘5 小时前
Linux系统——线程同步与互斥
linux·运维·服务器·策略模式·同步·互斥·posix
.道阻且长.6 小时前
Linux基本开发工具:gdb和cgdb的使用
linux·运维·服务器·开发语言