首页 > 其他分享 >CICD Day4、Jenkins主从架构

CICD Day4、Jenkins主从架构

时间:2025-01-07 12:10:46浏览次数:1  
标签:slave -- CICD Day4 agent Jenkins jenkins 节点

    Jenkins主从架构(Master-Slave)是一种分布式架构,主节点负责管理项目配置、任务调度和监控,从节点用于执行具体的构建任务。Jenkins主从架构如下图所示

image

	当项目触发构建时,主节点将任务分配到某个从节点,从节点根据项目配置执行一系列操作,如拉取代、代码编译、部署到目标服务器等。这种方式可以将构建过程中的负载有效地分散到各个从节点上,从而减轻主节点的负担,提高系统的稳定性。尤其是在多个项目同时构建的场景下,主从架构能够显著提高整体的执行效率

1、页面配置slave节点

  • 例如,向Jenkins中添加一个从节点,单击Manage Jenkins,再单击Nodes and Clouds,进入节点管理页面,如下图所示
    image
    默认存在一个名为Built-In Node的节点,这个节点是Jenkins本机,它不是一个真正的分布式节点。换句话说,在不添加其他节点的情况下,所有项目的构建都在本机执行。

  • 单击右上角的New Node按钮添加一个从节点,进入设置节点名称页面,这里输入Jenkins-Slave1,单击Create按钮创建并进入节点配置页面,配置如下:

    • Name:节点名称
    • Description:节点描述
    • Number of executors:节点执行器数量,用于设置同时执行构建任务的数量
    • Remote root directory:远程根目录,用于存储工作时产生的文件
    • Labels:节点标签,用于表示节点特性或用途的关键词
    • Usage:选择如何使用该节点,这里选择Use this node as much as possible,表示希望尽可能使用这个节点来执行构建任务
    • Launch method:选择如何启动代理,这里选择Launch agent by connecting it to the controller,表示手动在节点上启动代理程序
      具体的节点配置如下图所示
      image

2、命令行添加slave节点

保存配置后,该节点进入离线状态,需要在节点服务器上启动代理程序,登录从节点服务器上,下载代理程序文件

  • 代理程序文件获取方式
    image
    image
  • 下载代理程序文件、运行代理程序所需的jdk环境
curl -s http://172.16.99.82:8080/jnlpJars/agent.jar -o /usr/local/jenkins-agent.jar
yum install java-11-openjdk git -y
  • 后台启动代理程序
nohup java -jar /usr/local/jenkins-agent.jar -url http://172.16.99.82:8080/ -secret da832f2d629072a875c0b17ab70c4823f65b410fe00437870e71ec3ff37df930 -name "Jenkins-Slave1" -webSocket -workDir "/tmp/jenkins" >> /var/log/jenkins-agent.log 2>&1 &

一旦代理程序启动并成功连接到Jenkins,该节点会转为在线状态。
此时,项目触发构建,Jenkins 会优先将任务分配到这个从节点上。在控制台输出中,可以看到 Building remotely on Jenkins-Slave1 (web),这说明构建过程在Jenkins-slave节点上进行,而不是在Jenkins本机上执行
image

Jenkins 还提供了代理程序的容器镜像 jenkins/inbound-agent。使用Docker创建代理程序容器的命令如下:

docker run -d --name jenkins-slave  --restart always --init uhub.service.ucloud.cn/librarys/jenkins/inbound-agent:latest-jdk21 -url http://172.16.99.82:8080/  da832f2d629072a875c0b17ab70c4823f65b410fe00437870e71ec3ff37df930  Jenkins-Slave1

docker run --init jenkins/inbound-agent -url http://jenkins-server:port <secret> <agent name>
  • 参数介绍
    • --name:容器的名称,这里可以自定义为 jenkins-slave
    • -- restart:容器的重启策略,always
    • --init:该选项启用 Docker 容器的进程管理(初始化进程)。启用初始化进程可以帮助容器正确处理一些信号,保证容器内应用的健康和资源清理。
    • -url:jenkins-master的地址
    • secret:创建完jenkins-slave可以看到
    • agent name:jenkins-slave的名称,需要也页面看到的保持一致

标签:slave,--,CICD,Day4,agent,Jenkins,jenkins,节点
From: https://www.cnblogs.com/suyj/p/18656689

相关文章

  • CICD Day3、Jenkins参数化构建
    Jenkins参数化构建是一项功能,允许在出发构建时通过制定参数来动态配置和定制构建任务。这种灵活使得一个构建流程可以使用不同的配置进行,从而使用不同的场景需求参数构建支持多种参数类型,如下所示:BooleanParameter(布尔值参数):true或者false,可用于开启或关闭某些构建步骤Choi......
  • Day4(hash表)
    有效的字母异位词算是板子题吧,后面从record里直接减比较巧妙,可以少开一个数组,更节约空间。两个数组的交集没有技术含量,需要记住几个api名,还有就是set里unordered_set才是hash表的数据结构,这个最快。快乐数难点在于不是快乐数的时候,要分析无限循环的情况分析得出无限......
  • jenkins修改清华镜像源失效的问题
    先说结论:不要用清华的镜像,不要用清华的镜像,不要用清华的镜像,重要的事情说三次!那用什么呢?华为的亲测可用:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json再说现象:网上一大堆的教程让修改hudson.model.UpdateCenter.xml,把http://updates.jenkins.io/u......
  • jenkins入门4
    1、启动关闭jenkins在Windows环境下,如果你需要关闭Jenkins服务,可以通过以下几种方式:1、使用Windows服务管理器:打开“运行”对话框(Win+R),输入services.msc,然后回车。在服务列表中找到“Jenkins”服务。右击“Jenkins”服务,选择“停止”以停止服务。2、netstopjenkins......
  • 250103.openEuler欧拉安装Jenkins并修改构建workspace路径
    1.安装Jenkinswget-O/etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat-stable/jenkins.repo--no-check-certificaterpm--importhttps://pkg.jenkins.io/redhat-stable/jenkins.io-2023.keyyuminstall-yfontconfigjava-17-openjdkdnf-yinstalljenk......
  • CICD Day2、基于jenkins Gitlab 的CICD web-demo配置
    1、代码提交1.1在服务器上创建一个web-demo的目录,用户web前端项目的开发目录mkdirweb-demo#在web-demo目录下编辑一个index.html的文件catindex.html<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>实例</title></head><body&......
  • Day48十六进制转化为二进制的方法
    Day48十六进制转化为二进制的方法方法原理十六进制数的每一位对应着4位二进制数。这是因为(2^4=16),所以十六进制的一位可以用4位二进制来表示。转换步骤以十六进制数A3F为例。首先,将十六进制数的每一位分别转换为二进制。十六进制数字A(在十六进制中,A代表10)对应的二......
  • Day48--十六进制的基本规则
    Day48--十六进制的基本规则十六进制的基本规则十六进制是一种计数系统,它的基数是16。这意味着它使用16个不同的符号来表示数字。在常规的十进制系统中,我们使用0-9这10个数字来表示数值。而十六进制除了使用0-9这10个数字外,还需要额外的6个符号来表示10-15这些数值。......
  • Day47--二进制转化为10进制
    Day47--二进制转化为10进制对于正整数(无符号数或正数)二进制转十进制的方法是按权展开相加。例如,有一个二进制数(1011),从右往左每一位对应的权值分别是(2{0})、(2)、(2{2})、(2\cdots)那么将(1011)转换为十进制的计算过程如下:(1\times2{0}+1\times2+0\times2{2}+1\times2)......
  • Day47--有符号整数.md
    Day47--有符号整数.md有符号整数是什么?为什么10000000对应的是-128?有符号整数的概念在计算机中,整数可以分为有符号整数和无符号整数。有符号整数用于表示正数、负数和零,而无符号整数只能表示零和正数。对于有符号整数,最常见的表示方法是使用二进制补码(two'scomplement)。在......