Jenkins 的分布式构建( Master-Slave )

文章目录

  • 一、Master-Slave分布式构建概述
      • 1. 什么是 Master-Slave 分布式构建
  • 二、实现Master-Slave分布式构建
      • 1. 开启代理程序的TCP端口
      • 2. 新建节点
      • 3 slave1 操作
      • 4. 自由风格项目测试

一、Master-Slave分布式构建概述

1. 什么是 Master-Slave 分布式构建

Jenkins 的 Master-Slave 分布式构建,是通过将构建过程分配到从属 Slave 节点上,从而减轻 Master 节点的压力,而且可以同时构建多个,有点类似负载均衡的概念。

Jenkins 的分布式构建( Master-Slave )_第1张图片

Jenkins 集群不同于 redis 集群(redis 集群是去中心化的,失效一个节点其他的还能用),Jenkins 集群是master-slave 的形式,Jenkinsmaster 负责中心调度,如果 master是单节点,其发生故障后集群就失去了功能。所以我们用 K8S 部署 Jenkins 集群,Jenkins 以 Pod 的形式存在,这样 master 就具有了自愈功能。

二、实现Master-Slave分布式构建

1. 开启代理程序的TCP端口

Manage Jenkins ——》Configure Global Security
Jenkins 的分布式构建( Master-Slave )_第2张图片

2. 新建节点

Manage Jenkins——》Manage Nodes——》新建节点

Jenkins 的分布式构建( Master-Slave )_第3张图片

Jenkins 的分布式构建( Master-Slave )_第4张图片

Jenkins 的分布式构建( Master-Slave )_第5张图片
Jenkins 的分布式构建( Master-Slave )_第6张图片

Jenkins 的分布式构建( Master-Slave )_第7张图片
Jenkins 的分布式构建( Master-Slave )_第8张图片
下载的 agent.jar 需要上传到 slave1

在这里插入图片描述

3 slave1 操作

192.168.74.11

[root@c7-6 ~]#mkdir /root/jenkins
[root@c7-6 ~]#yum -y install git &> /dev/null
#需要安装git
[root@c7-6 ~]#rz -E
rz waiting to receive.
[root@c7-6 ~]#ll
总用量 1488
-rw-r--r-- 1 root root 1522173 37 15:56 agent.jar
drwxr-xr-x 2 root root       6 37 15:10 jenkins
[root@c7-6 ~]#yum install java-1.8.0-openjdk* -y
......
[root@c7-6 ~]#java -version
......
[root@c7-6 ~]#java -jar agent.jar -jnlpUrl http://192.168.10.30:8888/computer/slave1/jenkins-agent.jnlp -secret 84da3507a13a1c6b65a83fff1352dc14c85579dad83c3feaea4b1fc802039a11 -workDir "/root/jenkins"
......
三月 07, 2022 4:09:01 下午 hudson.remoting.jnlp.Main$CuiListener status
信息: Remote identity confirmed: 12:9d:a7:ef:1b:c6:ea:20:4f:44:c3:e4:84:4a:fb:c0
三月 07, 2022 4:09:01 下午 hudson.remoting.jnlp.Main$CuiListener status
信息: Connected

再次查看已加入
Jenkins 的分布式构建( Master-Slave )_第9张图片

4. 自由风格项目测试

Jenkins 的分布式构建( Master-Slave )_第10张图片
配置运行节点slave1
Jenkins 的分布式构建( Master-Slave )_第11张图片

Jenkins 的分布式构建( Master-Slave )_第12张图片
配置项目,使用流水线生产拉取代码
Jenkins 的分布式构建( Master-Slave )_第13张图片
通过流水线语法配置拉取的代码

node("slave1") {

    stage('pull code') {
        checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: '0aa6d8b5-b2c8-4a66-8b76-a9d7d16c5bd5', url: '[email protected]:kgc/tensquare_back.git']]])
    }
}

Jenkins 的分布式构建( Master-Slave )_第14张图片
构建测试
Jenkins 的分布式构建( Master-Slave )_第15张图片
Jenkins 的分布式构建( Master-Slave )_第16张图片

你可能感兴趣的:(Jenkins,jenkins,分布式,运维)