【jenkins系列】centos安装jenkins lts版本的主从集群以及监控

机器规划

角色 ip地址 操作系统版本 机器配置 linux登录账号规划
jenkins master 192.168.172.9 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 root账号,并创建业务服务器操作账号,假设为bbs、publicfund
jenkins node1 192.168.172.3 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 root账号,并创建业务服务器操作账号,假设为bbs、publicfund
jenkins node2 192168.172.4 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 root账号,并创建业务服务器操作账号,假设为bbs、publicfund
jenkins node3 192.168.172.5 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 root账号,并创建业务服务器操作账号,假设为bbs、publicfund
prometheus服务器 192.168.172.7 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 root账号,能操作systemctl命令
业务服务器1 192.168.172.10 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 bbs账号,能提供密码,并能支持ssh key访问模式
业务服务器2 192.168.172.11 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 bbs账号,能提供密码,并能支持ssh key访问模式
业务服务器3 192.168.172.12 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 publicfund账号,能提供密码,并能支持ssh key访问模式
业务服务器4 192.168.172.13 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 publicfund账号,能提供密码,并能支持ssh key访问模式
业务服务器5 192.168.172.14 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 publicfund账号,能提供密码,并能支持ssh key访问模式

系统与软件版本

prometheus版本: 2.45.0(长期支持版本)
jdk版本: oracle jdk17.0.9 (长期支持版本)
jenkins版本: 2.426.3版本 (长期支持版本)
maven版本: 3.9.0
thrift版本: 0.9.3
tomcat版本: Apache Tomcat/9.0.73
webhook-qywx.tar.gz: 根据alertmanger的json报文,自研的一个java服务

截图如下:

规划的安装目录

java安装目录:/data/jenkins/jdk17.0.9
jenkins目录: /data/jenkins/jenkins_data
tomcat目录:/data/jenkins/apache-tomcat-9.0.73
maven目录:/data/jenkins/apache-maven-3.9.0并创建一个软连/data/jenkins/maven
maven仓库:/data/jenkins/mavenlib

使用到的jenkins插件






master节点各个软件的安装、以及jenkins的启动

安装jdk、maven

  • 解压jdk-17.0.9.tar.gz

  • 解压apache-maven-3.9.0.tar.gz

  • 解压apache-tomcat-9.0.3.tar.gz

    备注:jenkins.war已经提前通过wget,已经下载到放在其webapps目录下
    jenkins的下载路径:

    https://get.jenkins.io/war-stable/2.426.3/jenkins.war
  • 将各个服务添加到环境变量中

    export JAVA_HOME=/data/jenkins/jdk-17.0.9
    export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export MAVEN_HOME=/data/jenkins/maven
export PATH=$MAVEN_HOME/bin:$PATH
export JENKINS_HOME=/data/jenkins/jenkins_data

安装jenkins依赖的fontconfig

yum install fontconfig
yum install ntpdate

安装thrift(非必须)

- 获取thrift-0.9.3.tar.gz

wget --no-check-certificate https://archive.apache.org/dist/thrift/0.9.3/thrift-0.9.3.tar.gz
  • 解压thrift-0.9.3.tar.gz
  • 安装依赖
     yum -y install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel openssl-devel boost-devel-static
  •  进入thrift的源代码目录,执行编译命令
    ./configure --with-lua=no && make && make install

启动master节点上的tomcat

/data/jenkins/apache-tomcat-9.0.3/bin/catalina.sh start &

node1节点各个软件的安装、以及jenkins的启动

参考master节点上的步骤,做一遍。

node2节点各个软件的安装、以及jenkins的启动

参考master节点上的步骤,做一遍。

node3节点各个软件的安装、以及jenkins的启动

参考master节点上的步骤,做一遍。

node1、node2、node3被master节点管控

这里以node3为例,在/data/jenkins目录下,创建一个shell脚本start_agent.sh

nohup java -jar agent.jar -jnlpUrl http://192.168.172.9:8080/jenkins/computer/172%5F5/jenkins-agent.jnlp -secret '由master节点生成' -workDir "/data/jenkins/jenkins_data" 2>&1 >nohup.out  &

并执行这个脚本。

jenkins集群最终的效果

最终达到下面这个效果:

prometheus的监控情况