news 2026/4/18 1:46:49

Jenkins分布式构建配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jenkins分布式构建配置

master/agent架构,一主多从,master节点负责webUI和用户定义流水线任务然后把任务分发给agent节点,agent节点进行负责执行构建任务的,可以通过节点标签来指定将哪些构建任务在指定的标签agent节点进行构建

Master和Agent连接方式有两种:ssh连接基于秘钥ssh-key生成给jenkins认证,JNLP连接java web代理连接通过生成secret密码串进行认证固定端口为5000/tcp

Agent节点有三种部署方式
1)节点Agent,在一个主机上部署一个jenkins实例,把他做为Master节点的被使用端,构建任务在该节点上进行

2)Docker Agent,只做为agent使用没有jenkins的webUI功能,更轻量化,容器只负责执行matser下发的构建任务;此agent有两种分别为“静态docker Agent”和“动态docker agent” ,静态是基于特定的docker镜像持续运行agent节点容器,动态就是通过jenkins的Master节点按需在docker上启动容器做为Agent节点完成构建任务后销毁

⚙️配置JJLP连接jenkins Agent节点
1)系统管理-->节点管理-->添加节点-->填写节点名称并勾选固定节点,点击Create

2) 参数定义配置
远程工作目录如果Agent主机部署jenkins有jenkins用户那么需要填写为默认的工作目录/home/jenkins/,用户有写权限

这里我们因为选择的是通过JNLP方式来连接Agent节点,所以选择"通过Java Web启动代理"

因为使用JNLP方式连接需要把代理端口打开,在全局安全配置

然后点击节点,根据系统linux或Windows复制对应命令在Agent主机上执行,不需要安装jenkins实例,需要在Agent主机上创建jenkins用户家目录,如果是特定工作目录,需要把目录属主属组全部改为jenkins用户和组

进行连接并查看是否连接成功



因为给的命令式前端运行的,在关闭终端或ctrl+c中断会导致离线,所以需要执行一个后台运行的命令加一个nohup命令,或者写一个system文件
方法1:使用nohup

nohup java -jar agent.jar -url http://10.150.9.121:8080/ -secret e23e38598309c4b59935f27fdc0af82d63a0173628e6e1887cca9254204661f3 -name Agent1 -webSocket -workDir "/home/jenkins" > /home/jenkins/agent.log 2>&1 &

方法2:使用systemd管理
创建一个 systemd 服务文件,例如/etc/systemd/system/jenkins-agent.service

[Unit] Description=Jenkins Agent After=network.target [Service] Type=simple User=jenkins WorkingDirectory=/home/jenkins ExecStart=/usr/bin/java -jar /home/jenkins/agent.jar -url http://10.150.9.121:8080/ -secret e23e38598309c4b59935f27fdc0af82d63a0173628e6e1887cca9254204661f3 -name Agent1 -webSocket -workDir "/home/jenkins" Restart=always RestartSec=10 [Install] WantedBy=multi-user.target

新建一个构建任务进行测试


🔐c:SSH 方式更常见、更受生产环境青睐
在agent主机上创建jenkins用户并设置密码,在master上添加Username with Password凭据口令凭据,输入用户名和密码进行调用;

也可以选择SSH Username with private key添加私钥凭据进行连接需要在agent执行命令在本地生成公钥文件,ssh-copy-id -i .ssh/id_rsa.pub jenkins@自己的Agent主机IP地址,输入密码登录后,查看jenkins用户目录下生成了.ssh/authorized_keys文件就能够远程连接了

具体操作

1、Agent主机:useradd -m jenkins -s /bin/bash 2、如果执行构建任务需要特定工作目录,那么需要创建并把属主和属组改为jenkins mkdir -p /appdata/jenkins chown -R /appdata/jenkins 3、切换用户jenkins上 su jenkins 4、生成私钥 ssh-keygen -t rsa -P "" 5、查看复制私钥 cat .ssh/id_rsa 6、在jenkins master主机上保存,凭据为SSH Username with private key,在Private Key下添加刚才的 私钥 7、ssh-copy-id -i .ssh/id_rsa.pub jenkins@自己的Agent主机IP地址,输入密码登录后,查看jenkins用户目录下生成了.ssh/authorized_keys文件就能够远程连接了 ssh-copy-id -i .ssh/id_rsa.pub jenkins@10.150.9.120 ll .ssh/authorized_keys 8、验证是否连接成功

🧩基于Docker容器的动态Agent
1)在jenkins master插件商店上安装dokcer插件
2)在Agent主机上安装Docker并创建jenkins用户,并将jenkins用户添加附属组为docker
3)添加Clound,将Docker Host URL内容远程主机填写tcp://主机IP+端口,还需要在agent主机上的docker的system文件添加-H tcp://0.0.0.0:2376暴露端口接受远程请求

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 1:46:07

把智能体当“新员工“带:一文搞懂大模型智能体运作流程

文章通过将智能体比作新员工的形象比喻,揭示了智能体的运作流程:首先通过系统提示词设定角色和基本信息,然后配置工具让智能体使用。智能体会尝试解决问题,但结果可能不完善,需要根据反馈优化。ReAct Agent模型通过规划…

作者头像 李华
网站建设 2026/4/15 7:45:56

大数据领域日志数据的存储优化与性能调优

大数据领域日志数据的存储优化与性能调优关键词:大数据、日志数据、存储优化、性能调优、数据处理摘要:本文围绕大数据领域中日志数据的存储优化与性能调优展开。首先介绍了相关背景知识,包括目的、预期读者等。接着详细解释了日志数据存储和…

作者头像 李华
网站建设 2026/4/16 11:56:21

【毕业设计】机器学习基于cnn卷积网络识别树叶是否存在病变

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/15 18:32:56

交互式世界建模新方案!腾讯混元发布世界模型WorldPlay,兼顾实时生成与长期几何一致性;5万条样本!Med-Banana-50K支持增删病灶双向编辑

世界模型正驱动计算智能领域的重心逐渐从语言任务拓展至视觉与空间推理,通过构建动态三维环境的模拟能力,这些模型使智能体得以感知并与复杂场景交互,从而为具身智能、游戏开发等领域开启了新的研究与应用前景。世界模型的前沿正聚焦于实时交…

作者头像 李华
网站建设 2026/4/16 1:40:57

深度学习毕设选题推荐:人工智能基于python的鲜花识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/12 18:11:51

【论文阅读】Steering Your Diffusion Policy with Latent Space Reinforcement Learning

【论文阅读】Steering Your Diffusion Policy with Latent Space Reinforcement Learning1 团队与发表时间2. 问题背景与核心思路3. 具体做法3.1 模型设计3.2 Loss 设计3.3 数据设计4 实验效果5 结论6 扩散模型进行RL的方案6.1 纯离线设置 (Purely Offline Setting)6.2 在线设置…

作者头像 李华