jenkins分布式构建部署系统
一、介绍
在大规模jobs的场景下,单台Jenkins master同时执行多个任务的构建,其性能可能会出现瓶颈从而会影响代码部署的效率,因此jenkins官方提供了jenkins分布式构建。将所有的jobs运行到不同的Jenkins slave节点,大幅度提供并行job的构建能力。
二、基于yum+docker分布式系统
(一)、描述
-
master节点
master基于rpm安装部署,只负责系统的配置和管理
-
slave节点
slave是基于自定义docker镜像,通过docker-compose部署。负责各个绑定的agent节点job的构建运行
(二)、配置master
-
新建节点
## 系统管理 => 节点管理 => 新建节点
# 获取节点认证信息
-
代理配置
## 系统管理 => 全局安全配置
(三)、安装配置slave节点
-
自定义镜像构建
# 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 .
-
部署节点
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
-
验证从节点
查看节点列表状态值