Jenkins从配置到实战(二) - Jenkins的Master-Slave分布式构建

2023-11-14

前言

  • Jenkins的Master-Slave分布式构建,就是通过将构建过程分配到从属Slave节点上,从而减轻Master节点的压力,而且可以同时构建多个,有点类似负载均衡的概念。
  • 简单理解就是,将Jenkins服务器上的构建任务分配到其他机器上,可以是linux,也可以是windows,这样不仅减轻了Jenkins服务器的压力,也实现了跨平台的任务构建。

准备工作

  • 首先要有一台Jenkins服务器,如何搭建可参考我的另一篇文章
  • 我这里计划配置三个从属节点,所以分别准备了三台机器。一台虚拟机A Centos,ip为192.168.206.134,一台虚拟机B Ubuntu,ip为192.168.206.139,一台windows机器C,ip为192.168.206.133。
  • 虚拟机A Centos java 安装命令
    • 查找 : yum search java|grep jdk
    • 选择一个安装 : yum install java-1.8.0-openjdk
  • 虚拟机B Ubuntu java 安装命令
    • 查找 : apt search java|grep jdk
    • 选择一个安装 : apt install openjdk-8-jdk
  • windows机器C java安装
    • windows去官网下载安装java,配置环境变量。这里我就不介绍了,windows安装java的文章很多。
  • 这里重点介绍如何去配置Centos从节点,可以选择只配置这一台,熟悉这个流程就可以。

Jenkins配置 - 配置centos从节点

  • jenkins节点管理这块,目前只有一个节点,就是我的jenkins服务器
    在这里插入图片描述
  • 开始配置新节点,选择系统管理
    在这里插入图片描述
  • 然后选择全局安全设置
    在这里插入图片描述
  • 代理这里指定一个端口,然后保存。
    在这里插入图片描述
  • 然后在系统管理中选择节点管理
    在这里插入图片描述
  • 新建一个节点
    在这里插入图片描述
  • 起一个节点名称,然后创建
    在这里插入图片描述
  • 依次填写以下信息,这里的信息就是刚才准备的虚拟机A的信息,可以在虚拟机A的root目录下创建一个jenkins目录。
    在这里插入图片描述
    在这里插入图片描述
  • 保存之后,可以看到这里已经有一个新的节点了。但显示节点不在线
    在这里插入图片描述
  • 点开可以看到以下信息,然后先点击agent.jar把这个包下载下来
    在这里插入图片描述
  • 然后把这个agent.jar拷贝到虚拟机A的/root/jenkins目录下,然后在虚拟机A的/root/jenkins目录下执行上面那个命令
  •   java -jar agent.jar -jnlpUrl http://192.168.206.137:8080/computer/centos7/jenkins-agent.jnlp -secret 0d6908ae6652429557b05ed7e0060b5a5d0dea0a3dd6b0b159752599f5d72469 -workDir "/root/jenkins"
    
  • 看到以下提示信息,说明连接成功了
    在这里插入图片描述
  • 再返回节点列表,可以看到节点centos7已经是在线状态了
    在这里插入图片描述
  • 然后再在系统管理中选择插件管理
    在这里插入图片描述
  • 在可选插件这里搜索 Node and Label parameter,安装
    在这里插入图片描述

实现远程构建

  • 新建一个任务
    在这里插入图片描述

  • 这里选择Node
    在这里插入图片描述
    在这里插入图片描述

  • 这里指定git仓库,选择分支
    在这里插入图片描述

  • 创建任务成功后,可以看到这里多了一个Build with Patameters参数
    在这里插入图片描述

  • 这里可以看到,就可以选不同节点了。我们选择centos7,点击开始构建
    在这里插入图片描述

  • 构建成功。我的jenkins服务器ip为192.168.206.137,从这里可以看到,代码已经拉取到了另一台机器 192.168.206.134上面了。
    在这里插入图片描述

  • 可以看到在虚拟机A上有成功拉取的代码了。
    在这里插入图片描述

  • 我们可以在虚拟机A上,实现代码的拉取,编译,打包及发布,减轻了jenkins服务器的压力。如果有需求,可以按照以上步骤添加更多的机器,把构建任务分发到不同的机器上去执行。

Jenkins配置 - 配置Ubuntu从节点

  • 基本上和配置centos节点步骤一样,这里也不介绍了
  • 看下ubuntu机器的配置
    在这里插入图片描述
    在这里插入图片描述

Jenkins配置 - 配置Windows从节点

  • Windows的配置步骤和linux也差不多,我们可以在C盘下建一个jenkins目录,将agent.jar程序拷贝过去,在cmd命令行执行对应的launch命令。
  • Windows平台配置如下
    在这里插入图片描述
    在这里插入图片描述
  • 这里注意下,我们可以在工具位置添加我们要使用的命令的位置,比如git,cmake等。
    在这里插入图片描述

效果

  • 配置完成,看下效果。三台从节点机器都是在线状态了。
    在这里插入图片描述
  • 我们在执行构建任务时,就可以将任务分配到不同的机器上。
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins从配置到实战(二) - Jenkins的Master-Slave分布式构建 的相关文章

随机推荐

  • Postman第七篇:其他好用的功能及工具

    其他好用的功能及工具 分组 Collection 在刚开始一个项目时 为了后续便于组织和管理 把同属该项目的多个 API 放在一组里 所以要先去新建一个 Collection New gt Collection 使用了段时间后 建了多个分组
  • 如何创建一个自己的sphinx文档网站

    文章目录 前言 一 操作步骤 1 安装anaconda 2 启动python3 8环境 3 安装Sphinx 4 创建文件夹 5 初始化环境 6 编译 7 文件夹搭查看 8 搭建nginx查看 8 更换主题 9 错误修复 10 这里提供两个
  • IDEA学习记录19--sql注入与Statement预编译

    1 sql注入 package net xdclass web dao import java sql Connection import java sql DriverManager import java sql ResultSet i
  • 从FindBugs中学Java【一】

    2019独角兽企业重金招聘Python工程师标准 gt gt gt findbug 这里 中文列表 http svn codehaus org sonar plugins tags sonar l10n zh plugin 1 1 src
  • forwardRef 的详解及使用

    一 介绍 React forwardRef 会创建一个React组件 这个组件能够将其接受的 ref 属性转发到其组件树下的另一个组件中 这种技术并不常见 但在以下两种场景中特别有用 转发 refs 到 DOM 组件 在高阶组件中转发 re
  • vue 一直发送请求websocket

    vue项目运行时一直请求websocket 导致控制台 接口大量报错无法查看控制台输出内容以及接口返回值 解决办法 打开 node modules sockjs client dist sockjs js 文件将 self xhr send
  • easyexcel poi 指定行指定列设置样式

    easyexcel poi 指定行指定列设置样式 1 给指定行指定列设置字体及居中 2 给指定行指定列设置边框 1 给指定行指定列设置字体及居中 给指定行指定列设置字体及居中 param workbook param rowIndex 第几
  • 【小沐学CAD】虚拟仿真开发工具:GL Studio

    文章目录 1 简介 2 软件功能 3 应用行业 3 1 航空 3 2 汽车 3 3 防御 3 4 工业 3 5 电力与能源 3 6 医疗 3 7 空间 3 8 科技 结语 1 简介 https disti com gl studio htt
  • 数据结构之算法复杂度篇

    要努力 但是不要急 繁花锦簇 硕果累累都需要过程 目录 前言 1 什么是数据结构 2 什么是算法 3 算法的复杂度 1 概念 2 时间复杂度 3 空间复杂度 4 常见的复杂度对比 4 复杂度的oj练习 5 总结 前言 在程序段运行的时候 我
  • 将h5封装为微信小程序

    1 要求网站域名必须为https 2 登录微信公众号好注册一个小程序账号 3 打开威胁你开发者工具进行创建 4 打开app json文件 pages项只保留 pages index index 这一行 5 打开 pages index in
  • 【千律】C++基础:类定义和类实现的分离

    类定义就是指定义类名 是 h文件 类实现是指对类定义的具体实现 是 cpp文件 下面是Student h中的内容 pragma once include
  • frc机器人比赛主题_参加了十几场机器人竞赛后,我才敢告诉你:怎样做到不“踩坑”?...

    在决定参加比赛之前 先问自己为什么 为什么要先聊这一点 因为这个问题会决定你的很多选择 很多家长会先去看那个 果 比如 比赛获奖有没有用 这个比赛含金量如何 但是这个 因 是每个家长要先问自己的 你是不是认同机器人竞赛是对孩子综合能力的提升
  • 2000端口号的坑

    这两天对接某游戏的充值接口的时候碰到一个恶心的问题 公司机器和服务器请求游戏方2000端口号的时候 死活获取不到返回No Response 但是同一个请求串外网环境都是正常的 经多次和游戏方你来我往之后发现 2000端口默认是sccp协议
  • 2W字长文吐血整理 Docker&云原生

    Docker 和 云原生 一 概念介绍 1 1 Docker Docker 是一个开源的应用容器引擎 让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 然后发布到任何流行的 Linux或Windows操作系统的机器上 也可以实现虚拟
  • React 应用的 Nginx 缓存控制

    典型 React 应用面临的缓存问题 可通过 Nginx 配置进行解决 通用部署 构建应用后 只需使用 Nginx 指向静态文件即可 server listen 80 root PATH TO APP build try files uri
  • 爬虫碎碎念

    20230304 非专业人士 简单记录自己的需求和思考 0 引言 平时看到一些网站的照片什么的 有那种批量下载的需求 当然有些也是视频网站的图片介绍什么的 也即是说 我需要把这些网站的照片批量下载下来 以前的时候 写过简单的爬虫 因为需求比
  • Docker——搭建ELK

    安装Elasticsearch 1 拉取镜像 docker box home box docker pull elasticsearch 7 14 2 2 在宿主机准备配置文件 创建目录 docker box mkdir p server0
  • 资源list:Github上关于大数据的开源项目、论文等合集

    Awesome Big Data A curated list of awesome big data frameworks resources and other awesomeness Inspired byawesome php aw
  • 注释转换(C->C++)

    转换原理图解 基于上图原理 可以写出代码 主函数 define CRT SECURE NO WARNINGS 1 include
  • Jenkins从配置到实战(二) - Jenkins的Master-Slave分布式构建

    前言 Jenkins的Master Slave分布式构建 就是通过将构建过程分配到从属Slave节点上 从而减轻Master节点的压力 而且可以同时构建多个 有点类似负载均衡的概念 简单理解就是 将Jenkins服务器上的构建任务分配到其他