当前位置: 首页 > news >正文

如何在 Jenkins 中安装 Master 和 Slave 节点以优化 CI/CD 流程

目录

  • 安装 master

  • 安装 slave

    • 设置 master 与 slave 的通信方式

    • 添加 slave 配置

    • 在 salve 上安装 jre

    • 安装并配置 Jenkins salve

Jenkins 是一个可扩展的持续集成引擎。主要用于持续、自动地构建、测试软件项目。本文介绍在 windows 平台上安装 Jenkins master 和 slave。

安装 master

请从 Jenkins 的官网下载安装包,直接运行,一路 "next" 就可以了。安装包执行完成后会启动你机器上默认的浏览器进行初始化配置和基本插件的安装。

第一步是进行安全性验证:

图片

需要把安装目录下一个文件中的密码输入到 UI 中,按照 UI 中的说明填入密码,然后继续。

第二步是选择插件进行安装:

图片

最好安装 Jenkins 建议安装的插件,点击第一个大大的按钮继续。接下来是安装这些插件,这个过程完全是在线安装,一般情况下会比较慢。

图片

插件安装完成后进入第三步:

图片

设置管理员账号,点击 "Save and Finish"。下个界面会提示 Jenkins 已经完成安装,点击 "Start using Jenkins" 进入 Jenkins 的主界面:

图片

OK,master 已经安装完成了!

安装 slave

设置 master 与 slave 的通信方式

进入 Jenkins 的全局安全配置界面(Jenkins->Manage Jenkins->Configure Global Security):

图片

选择 "Enable security",TCP 的端口号选择随机就可以了。

添加 slave 配置

在 Jenkins 上添加 slave 节点的配置(Jenkins->Manage Jenkins->Manage Nodes):

图片

点击 "New Node":

图片

输入 slave 节点的名称,并选择 "Permanent Agent" 类型,点击 OK 后进入详细信息的设置界面:

图片

简单解释一下上面的配置:

Name:该节点的名字。

Description:说明这个节点的用途。

# of executors:允许在这个节点上并发执行任务的数量,一般设置为 cpu 支持的线程数。

Remote root directory:节点上 Jenkins 的根目录。

Labels:分配给这个节点的标签。

Usage:节点的使用策略。

Launch method:启动 agent 的方式,对于 windows 平台,最好选择 "Launch agent via Java Web Start"。

Availability:Jenkins 控制 slave 是否在线的策略。

保存上面的配置,接下来去 salve 上完成安装和配置。

在 salve 上安装 jre

到 Oracle 官网下载最新的 jre 安装包并在 salve 上安装。

安装并配置 Jenkins salve

下面的操作默认都是在 salve 上进行。

首先在 C 盘根目录下创建目录 jenkinsagent。

接着在浏览器中登录前面创建的 Jenkins,并打开刚才创建的节点:

图片

点击上图中的 "Launch" 按钮,在浏览器的提示下把一个叫 slave-agent.jnlp 的文件保存到本地。
然后以管理员的权限启动命令行, 执行 slave-agent.jnlp 文件,最终会启动一个小程序:

图片

上图中的 "Connected" 说明 slave 和 master 已经建立了连接。但是我们希望把 slave-agent 程序安装成 Windows Service,这样以后 slave 机器重新启动后就能自动连接 master。在上面的 File 菜单中点击 "Install as a service",完成安装后上面的小程序会自动关闭,一个 Windows Service 被创建:

图片

好了,刷新一下 salve 的页面:

图片

至此,一个 master 与一个 slave 组成的 Jenkins 系统已经搭建起来了。

http://www.xdnf.cn/news/1364689.html

相关文章:

  • 【数据可视化-98】2025年上半年地方财政收入Top 20城市可视化分析:Python + Pyecharts打造炫酷暗黑主题大屏
  • 【数据可视化-100】使用 Pyecharts 绘制人口迁徙图:步骤与数据组织形式
  • Linux下的软件编程——网络编程(http)
  • 基于git的场景解决
  • DeepSeek 14B模型本地部署与预训练实现方案
  • 从零开始学习单片机15
  • MySQL常见报错分析及解决方案总结(1)---Can‘t connect to MySQL server on ‘localhost‘(10061)
  • 什么是事件循环(Event Loop)?浏览器和 Node.js 中的事件循环有什么区别?
  • 维度建模 —— 雪花模型 和 星型模型的优缺点
  • 冯·诺依曼架构:现代计算机的基石与瓶颈
  • Linux驱动开发笔记(七)——并发与竞争(下)——自旋锁信号量互斥体
  • k8s笔记03-常用操作命令
  • vite 项目创建、插件配置
  • JBL音响代理——河北正娱科技的声学精品工程
  • 智慧城市SaaS平台/交通设施运行监测系统之桥梁运行监测、城市道路塌陷风险运行监测系统架构内容
  • 网络编程--TCP/UDP Socket套接字
  • 验证码流程
  • 【AI解读源码系列】ant design mobile——Space间距
  • 京东API分类接口实战指南:获取各类商品信息
  • 【大模型本地运行与部署框架】Ollama的API交互
  • Spring拦截器中@Resource注入为null的问题
  • PAT乙级_1120 买地攻略_Python_AC解法_含疑难点
  • 6.3Element UI 的表单
  • 【python断言插件responses_validator使用】
  • 分布式系统与单机系统的优劣势对比
  • Reachability Query
  • Linux系统编程——进程 | 线程
  • 直播美颜SDK技术解析:人脸美型功能的算法原理与实现方案
  • TCP与HTTP协议以及爬虫
  • 如何在Debian服务器上设置Node.js日志轮转