首页 > 其他分享 >快速搭建Jenkins集群

快速搭建Jenkins集群

时间:2022-11-09 11:01:19浏览次数:64  
标签:红框 集群 agent1 jenkins Jenkins 节点 搭建

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

关于Jenkins集群

  • 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故障的隐患也有分散作用,今天就来实战快速搭建Jenkins集群,Jenkins版本是2.190.2;

如何做到快速搭建集群

  • 通过Docker可以省去大部分准备工作,您只需在Linux电脑上安装docker,在辅以少量命令和操作即可完成集群搭建;

环境信息

  • 本次实战的环境一共要用三台电脑,它们的设置都是一样的,如下:
  1. 操作系统:CentOS Linux release 7.6.1810
  2. 防火墙关闭
  3. docker:1.13.1
  • 三台电脑的信息如下:
主机名 IP地址 作用
master 192.168.133.131 Jenkins集群的master节点,提供web服务
agent1 192.168.133.132 Jenkins集群的一号工作接节点,标签是 maven
agent2 192.168.133.133 Jenkins集群的二号工作接节点,标签是 gradle
  • 建议agent2节点的内存大于4G,因为下一篇的实战操作会用agent2编译构建spring-framework,对内存的需求略大;

准备工作

  1. 后面的所有操作都是root账号;
  2. 在每台电脑上创建文件夹 /usr/local/jenkins

创建Jenkins的master

  • 登录master机器,执行以下命令:
docker run \
  -u root \
  -idt \
  --name master \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /usr/local/jenkins:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean:1.19.0
  • 执行 docker logs master ,会在控制台显示jenkins的登录秘钥,如下图红框所示: 在这里插入图片描述
  • 浏览器输入地址:http://192.168.133.131:8080 ,显示Jenkins登录页面,如下图所示,在红框位置输入刚才复制的登录秘钥即可登录: 在这里插入图片描述
  • 选择 安装推荐的插件在这里插入图片描述
  • 静候插件在线安装完成: 在这里插入图片描述
  • 接下来是创建管理员和使用实例url的操作,这里就不多说了,您按实际情况自行斟酌;<br> 至此,Jenkins的master已经搭建好,接下来将agent1和agent2作为工作节点加入集群;

加入agent1

  • 在Jenkins网页上新增节点,操作如下图,先进入节点管理页面: 在这里插入图片描述
  • 如下图,新增一个节点,名为 agent1在这里插入图片描述
  • 接下来的节点详情信息如下图,注意四个红框中的内容要和图中保持一致: 在这里插入图片描述
  • 保存成功后会显示机器列表,如下图,图标上的红叉表示机器不在线(此时agent1还没有接入),点击红框: 在这里插入图片描述
  • 如下图所示,红框中的命令就是agent1的启动命令,执行该命令的机器会以agent1的身份加入集群: 在这里插入图片描述
  • 注意上图红框中的 agent.jar 是个名为agent.jar的文件的下载链接,将此文件下载到agent1电脑的 /usr/local/jenkins 目录下;
  • ssh登录agent1电脑,执行以下命令,即可将agent1加入Jenkins集群:
docker run \
  -u root \
  -idt \
  --name agent \
  -v /usr/local/jenkins:/usr/local/jenkins \
  bolingcavalry/openjdk-with-sshpass:8u232 \
  java -jar /usr/local/jenkins/agent.jar \
  -jnlpUrl http://192.168.133.131:8080/computer/agent1/slave-agent.jnlp \
  -secret 44c3e8d1531754b8655b53294bbde6dd99b3aaa91a250092d0d3425534ae1058 \
  -workDir "/usr/local/jenkins"
  • 上述命令中的后半部分,即 java -jar ...... 就是前面图片红框中的agent1启动命令,唯一要改变的是将 agent.jar 改成绝对路径 /usr/local/jenkins/agent.jar
  • 上述命令的镜像是 bolingcavalry/openjdk-with-sshpass:8u232 ,其Dockerfile内容如下,可见非常简单,就是OpenJDK镜像里面安装了sshpass,这样的容器可以在执行ssh命令时带上远程机器的密码,而不用等待用户输入密码,这样便于shell脚本执行ssh命令:
FROM openjdk:8u232

ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --assume-yes sshpass
  • 去Jenkins的网页上查看节点列表,如下图,可见agent1已经成功加入: 在这里插入图片描述

加入agent2

  • agent2加入集群的方式和agent1大部分是一样的,只有以下两点要注意:
  • 在Jenkins页面上创建节点,名称是 agent2
  • agent2的标签是 gradle ,如下图红框所示: 在这里插入图片描述
  • 此时agent2也加入成功: 在这里插入图片描述
  • 至此,Jenkins集群搭建完成,这两个节点带有不同的标签,下一篇文章《Jenkins集群下的pipeline实战》中,我们在这个集群环境创建pipeline任务,并通过标签被分配到不同的节点上,实现多节点并行执行;

欢迎关注51CTO博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...

标签:红框,集群,agent1,jenkins,Jenkins,节点,搭建
From: https://blog.51cto.com/zq2599/5835175

相关文章

  • mycat负载均衡集群
    1.haproxy负载均衡搭建与介绍在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但随着业务量越来越大,无论性能还是稳定性上都有了更大的挑战。这时候我们就会想到......
  • Windows操作系统搭建Lsky Pro
    写在前面本文主要介绍在Windows下部署兰空图床,以及安装过程,非Windows系统可以参考本文章的安装流程,结合自己系统版本进行部署图床用处图床在日常的用处非常广泛,尤其......
  • mycat2 安装、分库分表、以及集群的搭建
    搭建双主双从 一个主机m1用于处理所有写请求,它的从机s1和另一台主机m2还有它的从机s2负责所有读请求。当m1主机宕机后,m2主机负责写请求,m1、m2互为备机。......
  • LNMP架构及论坛搭建
    概述LNMP:Linux系统下nginx+MySQL+PHP这种网站服务器架构。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管......
  • i.MX8MP M核开发环境02-搭建编译、调试、运行环境
    一、VSCODE+IAR集成开发环境(windows)1.1安装VSCODE插件1.2配置相关插件1.3VSCODE其他配置1.5IAR快速修改工程名称二、ARMGCC编译工具(Ubuntu)三、运行、调......
  • 使用Rancher搭建K8S测试环境
    环境准备(4台主机,Ubuntu16.04+Docker1.12.6+SSH):rancher1192.168.3.160只做管理节点node1192.168.3.161K8S的节点1node2192.168.3.162K8S的节点2no......
  • docker-compose 搭建 InfluxDB Cluster
    InfluxDBCluster官网GitHub:chengshiwen/influxdb-clusterWiki文档:chengshiwen/influxdb-cluster/wiki下载地址:chengshiwen/influxdb-cluster/releases网络架构图......
  • springMVC+maven+mybatis+Intellij IDEA环境搭建
         之前工作中一直用springMVC和ibatis,现在要从0开始学习maven和mybatis,所以这篇博客就记录我的学习maven,mybatis,intellijIDEA的心路历程。     首......
  • Elastaticsearch 集群部署
    系统Ubuntu16.04Elastaticsearch5.6.9Kibana5.6.9官网地址https://www.elastic.co/products/elasticsearch主机名称IPes-n1192.168.175.76......
  • ClickHouse集群部署
    集群节点信息192.168.175.212ch01192.168.175.213ch02192.168.175.214ch03搭建一个zookeeper集群复制数据需要zookeeper配合下载安装包zookeeper官网:https://......