CICD -- jenkins 分布式构建

    • 一、了解jenkins分布式
    • 二、启动slave节点
    • 三、并发发布任务测试

一、了解jenkins分布式

  • 为什么需要分布式:当出现很多任务同时构建,构建的速度就会很慢,如果有分布式,那么就会分摊这些任务
  • 部署拓扑:(可以有多个slave,这里只用一个做演示)
    • 10.4.7.14(master):需要的工具 – jenkins、jdk、sonar-scanner、git、maven
    • 10.4.7.12(slave):需要的工具 – jdk、sonar-scanner、git、maven

在10.4.7.12(slave)节点上安装需要的组件,master已经安装了,就不需要再处理了

# 将10.4.7.14节点上的sonar-scanner拷贝到slave上
[root@deploy ~]# scp -r /usr/local/sonar-scanner-4.0.0.1744-linux 10.4.7.12:/usr/local/

# 到10.4.7.12 slave节点上,安装组件,并为SonarQube创建软连接
[root@sonar ~]# yum -y install git jdk java maven
[root@sonar ~]# ln -s /usr/local/sonar-scanner-4.0.0.1744-linux /usr/local/sonar-scanner

二、启动slave节点

  • 点击"系统管理"
    • 点击"节点管理"
    • 点击"新建节点"
      • 填写节点名称,并选中"固定节点"
        • 填写"描述信息"、
        • 填写"Number of executors"并发构建数、
        • 自定义标签(标签可以作用在pipeline语句中指定运行及节点)
          如:agent { label 'node1' }
        • 填写远程工作目录(这个目录自定义,没有的话会自动创建)
        • 选择"用法"为"尽可能使用这个节点"
        • 启动方式 选择 “Launch agent agents via SSH”
          • 主机 填写这个slvae节点的IP地址
          • 添加"Credentials" (需要master节点ssh-copy-id给slave节点,然后slave节点上传私钥id)
        • “节点属性"下,勾选"工具位置”,添加maven、git、jdk、sonar-scanner的工作目录。如下,具体需要看自己的安装位置
          • maven — /usr/share/maven
          • jdk — /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
          • git — /usr/libexec/git-core/git
          • sonar-scanner — /usr/local/sonar-scanner-4.0.0.1744-linux
        • 保存后回到上级页面,点击新建的节点,然后点击"日志",可以看到分布式创建的过程
# master节点上传私钥给slave
[root@deploy pipehtml]# ssh-copy-id 10.4.7.12

# 查看master节点的私钥,用于创建 Credentials
[root@deploy ~]# cat ~/.ssh/id_rsa

CICD -- jenkins 分布式构建_第1张图片
CICD -- jenkins 分布式构建_第2张图片
CICD -- jenkins 分布式构建_第3张图片

CICD -- jenkins 分布式构建_第4张图片
CICD -- jenkins 分布式构建_第5张图片

查看节点创建的日志

# 会自动在slave节点定义的工作目录/home/jenkins/下创建remoting.jar这个jar包,并启动它
[root@sonar ~]# ls /home/jenkins/
remoting  remoting.jar

CICD -- jenkins 分布式构建_第6张图片
看同步状态
CICD -- jenkins 分布式构建_第7张图片

三、并发发布任务测试

  • 两个节点同时开始构建
    CICD -- jenkins 分布式构建_第8张图片

你可能感兴趣的:(CICD)