用jenkins 实现项目自动部署笔记
1、目的
1、一键实现项目自动构建打包发布(用于生产环境)
2、实现代码提交到代码仓库立刻自动打包部署(用于测试环境)
3、本测试脚本代码在最后
2、操作环境
-
centos
-
jdk
-
maven
-
jenkins
-
gitee
-
git
-
docker
2、实现思路
1、生产环境
-
合并代码开发分支到master分支,准备发布最新代码
-
jenkins一键点击发布
-
jenkins从代码仓库拉取最新代码
-
通过maven进行打包
-
把jar包打包成镜像,上传到自己的镜像仓库私服
-
jenkins通知应用服务器拉取最新镜像
-
应用服务器拉取最新镜像,运行新容器
-
删除旧的容器和镜像
-
若发布失败回滚到上一个版本
2、测试环境、开发环境
-
提交代码到代码仓库dev或其他分支
-
自动触发jenkins构建项目
-
jenkins从代码仓库拉取最新代码
-
最新代码拷贝到测试服务器
-
自动连接测试服务器进行maven打包
-
把jar包打包成镜像
-
删除旧的容器和镜像
-
通过新打包的镜像,运行新容器
3、前期准备
-
两台centos服务器可以互相ping通(或者两台虚拟机)
-
准备一个springcloud或者springboot项目,用于自动发布测试(我这里准备的是一个多模块项目,目录结构如下)
-
jdk 1.8安装包,maven 3.6 啊包装包
-
jdk下载地址:https://wp.boytian.com/#/s/p8Fv 密码 tiantian123
-
maven下载地址:https://wp.boytian.com/#/s/2lc1 密码 tiantian321
4、安装jdk环境和maven环境
“
两台最好都安装,这里演示一台服务器
”
1、jdk环境安裝
-
创建jdk存放目录
mkdir -p /home/jdk
-
上传jdk到该目录下,进入该目录并解压,解压命令:
tar -zxvf jdk-8u144-linux-x64.tar.g
2、maven安装
- 创建maven目录和maven仓库目录
-
mkdir -p /home/maven
-
mkdir -p /home/maven/repo
- 上传maven到
/home/maven/
目录下,进入该目录并解压,解压命令:tar -zxvf apache-maven-3.6.3
3、配置jdk和maven的环境变量
-
修改
/etc/profile
文件,命令vim /etc/profile
-
若目录创建和我保持一致则在底部添加如下配置,否则自行修改即可
#输入i 进入编辑模式 # java配置 export JAVA_HOME=/home/jdk/jdk1.8.0_144 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/bin #maven 配置 export MAVEN_HOME=/home/maven/apache-maven-3.6.3 export PATH=$MAVEN_HOME/bin:$PATH
-
刷新配置使之生效
source /etc/profile