参考电商架构课程
文章目录
Jenkins主从集群搭建
jenkins支持主从模式,这将会把构建任务分发到多个从节点去执行,这样就可以支撑起多个项目的大量构建任务,提升构建效率。同时,你可以提供多种环境(如:开发环境、生产环境)来对同一个项目进行测试和构建。jenkins的部署方式主要有三种:服务器直接运行war、服务器通过 yum命令下载jenkins安装包进行安装运行、docker容器运行。采用第一种方式,服务器直接运行war的方式。
环境说明
centos7
jdk1.8
maven3.6.1
git1.8.3
jenkins2.241
docker18.06.1-ce
Master主机IP:192.168.200.200
Slave从机IP:192.168.200.201
Slave从机IP:192.168.200.202
备份机及Docker私有仓库机器IP:192.168.200.210
0. 虚拟机的安装
1. 安装过程
首先配置master服务器
- 打开镜像文件压缩包,在VMWare Pro中打开虚拟机
- 修改镜像别名
- 修改vmWare网络配置,将vmware网络模式设置为nat模式,并设置网段为192.168.200.0和网关192.168.200.2
- 修改虚拟网卡配置
- .确认centos200虚拟机的网络模式已经设置为nat,也就是图中的VMnet10。然后生成mac地址
- 点击开启虚拟机,弹出框中选择我已复制
- 登录虚拟机,用户名root,密码123456
- 进入虚拟机后,修改网卡IP地址为192.168.200.200
命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33
- IP修改保存后,通过
service network restart
命令重启网卡 - 第三方ssh连接
2. 问题及解决方案
问题1:NAT模式vmware的虚机可以ping host的ip,但是外部不能ssh连接该虚机,未能检索客户机 IP 地址
解决:最后发现是在配置DHCP的时候,将VMnet10的ip 192.168.200.10也覆盖了,整的3-220,需要整200-220就好了
问题2:复制镜像之后连不上网关
解决:需要在虚拟机开机之前,在配置里重新生成NAT的MAC地址
问题3:VMware忘了关掉,带走电脑后在另一个地方重新ssh连接虚拟机,连接不了
解决:将VMnet10关掉再启动即可
1. docker私有仓库安装
登录到私有仓库服务器,要安装docker私有仓库前必须先安装docker环境
docker环境安装
- yum 包更新到最新
sudo yum update
- 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置yum源为阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
- 安装docker
sudo yum install docker-ce
- 安装后查看docker版本
docker -v
- 设置为开机启动
systemctl enable docker
docker私有仓库安装
- 拉取私有仓库镜像
docker pull registry
- 启动私有仓库容器
docker run -di --name=my_registry -p 5555:5000 registry:latest
- 设置开机自启动
docker container update --restart=always my_registry
-
测试私有镜像仓库是否搭建成功
打开浏览器 输入地址http://192.168.200.210:5555/v2/_catalog
看到{“repositories”:[]} 表示私有仓库搭建成功 -
重启docker服务
systemctl restart docker
docker start my_registry
jenkins用户
- 新建jenkins用户
useradd jenkins --home-dir /home/jenkins --shell /bin/bash
passwd jenkins # 设置密码为12345678
- 新建jenkins备份目录
mkdir -p /data/jenkins_backup
chown -R jenkins:jenkins /data/jenkins_backup
- 安装rsync
yum install rsync
2. 安装master
登录master服务器
基础环境准备(root用户执行命令)
安装JDK
- 直接联网安装JDK
yum install java-1.8.0-openjdk-devel.x86_64
- 配置JAVA_HOME环境变量,vim /etc/profile,最后加上:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
- 让profile生效
source /etc/profile
其他的安装
- git的安装
yum install -y git
- 安装sshpass
yum install sshpass
- 安装wget
yum install wget
- 多线程下载工具axel安装
wget http://downloadib01.fedoraproject.org/pub/epel/7/x86_64/Packages/a/axel-2.4-9.el7.x86_64.rpm
rpm -ivh axel-2.4-9.el7.x86_64.rpm
jenkins用户
- 新建jenkins用户
useradd jenkins --home-dir /home/jenkins --shell /bin/bash
passwd jenkins # 设置密码为12345678
- 创建项目测试时会用到的日志目录
mkdir -p /data/logs/mall
chown jenkins:jenkins /data/logs/mall
下载安装maven
- 下载解压
axel -n 20 https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
tar zxvf apache-maven-3.6.1-bin.tar.gz
mv apache-maven-3.6.1 /usr/local/
- 配置M2_HOME环境变量,vim /etc/profile,最后加上:
MAVEN_HOME=/usr/local/apache-maven-3.6.1
export PATH=${MAVEN_HOME}/bin:${PATH}
- 让profile生效
source /etc/profile
- 创建maven本地仓库目录
mkdir -p /data/maven_repository
- 给jenkins用户授权,运行jenkins用户下载依赖包到仓库
chown -R jenkins:jenkins /data/maven_repository/
- 修改maven中仓库的位置
vim /usr/local/apache-maven-3.6.1/conf/settings.xml
- 更新仓库位置
<localRepository>/data/maven_repository</localRepository>
- 更新镜像
<mirror>
<id>alimaven</id>
<name>alimaven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
修改docker配置
修改docker配置文件添加执行权限
jenkins用户添加可以执行docker的权限
vim /lib/systemd/system/docker.service
找到ExecStart=/usr/bin/dockerd这一行,在此行最后添加 -G jenkins,结果如:
ExecStart=/usr/bin/dockerd -G jenkins