jenkins分布式构建部署系统

一、介绍


​ 在大规模jobs的场景下,单台Jenkins master同时执行多个任务的构建,其性能可能会出现瓶颈从而会影响代码部署的效率,因此jenkins官方提供了jenkins分布式构建。将所有的jobs运行到不同的Jenkins slave节点,大幅度提供并行job的构建能力。

二、基于yum+docker分布式系统


(一)、描述

  1. master节点

    master基于rpm安装部署,只负责系统的配置和管理

  2. slave节点

    slave是基于自定义docker镜像,通过docker-compose部署。负责各个绑定的agent节点job的构建运行

(二)、配置master

  1. 新建节点

    ## 系统管理 => 节点管理 => 新建节点
    

    1611805391236

    # 获取节点认证信息
    

  2. 代理配置

    ## 系统管理 => 全局安全配置
    

(三)、安装配置slave节点

  1. 自定义镜像构建

    # jenkins-slave
    
    Dockerfile
    jenkins-slave
    slave.jar
    
    # Dockerfile
    FROM centos:7
    LABEL maintainer qms
    
    RUN yum install -y https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-7.noarch.rpm && \
        curl -sL https://rpm.nodesource.com/setup_10.x | bash - && \
        curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo && \
        yum install -y nodejs yarn && \
        yum install -y java-1.8.0-openjdk maven curl git ansible libtool-ltdl-devel && \
        yum clean all && \
        rm -rf /var/cache/yum/* && \
        mkdir -p /usr/share/jenkins
        
    COPY slave.jar /usr/share/jenkins/slave.jar
    COPY jenkins-slave /usr/bin/jenkins-slave
    RUN chmod +x /usr/bin/jenkins-slave && \
        yarn config set registry https://registry.npm.taobao.org
    
    ENTRYPOINT ["jenkins-slave"]
    
    docker build -t jenkins-slave:v1 .
    
  2. 部署节点

    docker-compose up -d
    
    # docker-compose.yml
    version: '3'
    services:
      slave:
        image: jenkins-slave:v1
        container_name: platform
        restart: always
        environment:
          JENKINS_URL:  # jenkins地址
          JENKINS_SECRET: # agent认证信息
          JENKINS_AGENT_NAME: test
          JENKINS_AGENT_WORKDIR: /home/jenkins/agent
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - /usr/bin/docker:/usr/bin/docker
          - /var/lib/jenkins/.m2/repository:/home/jenkins/.m2/repository
    
  3. 验证从节点

    查看节点列表状态值
    
posted @ 2021-01-28 13:56  qms19  阅读(281)  评论(0编辑  收藏  举报