文章目录
- 1.Jenkins分布式
- 2.如何实现
- 3.详细步骤:
- 4.当同时执行多个任务时,会调度到slave节点执行
- 5.slave节点实现捆绑
- 6.权限管理
1.Jenkins分布式
在实际应用中,尤其是随着分布式和微服务的流行,企业通常有多套测试环境,同时可能有数十个甚至上百个构建请求,单节点的Jenkins不足以支撑这些构建需求,造成大量的构建请求等待和时间浪费。基于这种情况Jenkins提供了Master Slave机制,Master负责调度任务和发送请求,多个Slave可以并发的执行构建任务,大大加速了构建过程。Jmeter Master Slave机制除了可以加速构建以外,还可以用于分布式的自动化测试,当自动化测试代码非常多或者是需要在多个浏览器上并行的时候,可以把测试代码划分到不同节点上运行,从而加速自动化测试的执行。
1.加速不同环境的构建
2.降低master压力
Jenkins Master Slave的搭建需要至少两台机器,一台Master节点,一台Slave节点(实际生产中会有多个Slave节点)。Jenkins分布式环境搭建步骤如下:
• Master节点上安装和配置Jenkins
• Master节点上新增Slave节点配置,生成Master-Slave通讯文件SlaveAgent
• Slave节点上运行SlaveAgent,通过SlaveAgent实现和Master节点的通讯
• Master节点上管理Jenkins项目,指定Slave调度策略,实现Slave节点的任务分配和结果搜集
Master节点上安装和配置Jenkins
Master节点上安装配置Jenkins和单机安装配置Jenkins步骤一致,需要预先安装如下依赖软件和完成如下配置
2.如何实现
系统管理----》节点管理----》----》新建节点
3.详细步骤:
slave节点安装:
yum install java git maven -y
1.在master上添加slave节点信息
2.slave要与master完全高度一致
[root@jenkins ~]# scp -rp /usr/local/sonar-scanner-4.0.0.1744-linux/ root@172.16.1.130:/usr/local/
[root@slave ~]# ln -s /usr/local/sonar-scanner-4.0.0.1744-linux/ /usr/local/sonar-scanner
3.脚本
[root@jenkins ~]# scp -rp /scripts/ root@172.16.1.130:/
4.git 免密登录
[root@slave ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.1.8
[root@slave ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.1.7
5.sonarqube客户端
6.maven环境
7.免密登录
master会发送一个jar包给slave
PS:slave完全不需要安装Jenkins
4.当同时执行多个任务时,会调度到slave节点执行
5.slave节点实现捆绑
6.权限管理
基于插件进行管理;
- 全局权限:所有的用户都能正常登陆到Jenkins服务器
- 项目权限:(项目的命名一定要有规范)
(1)开发组的角色对应的是freestyle的项目
(2)给开发组角色分配权限
(3)将开发组人员关联该角色
shopping
shopping-project-01
shopping-project-02
全局:
项目