Jenkins部署前后端项目

背景

1、项目为单springboot项目,平常是通过手动启动。项目在gitlab下。
2、前端为html+js。项目部署在docker下的nginx下。项目在gitlab下。
3、jenkins是通过docker compose部署的。

部署后端项目

1、新建任务
Jenkins部署前后端项目_第1张图片
2、输入项目名称后构建maven项目
Jenkins部署前后端项目_第2张图片
3、配置源码管理
Jenkins部署前后端项目_第3张图片
4、选择构建触发器和构建环境
Jenkins部署前后端项目_第4张图片
5、build
clean package -Ptest
Jenkins部署前后端项目_第5张图片
点击高级,配置相关的maven(maven配置在liunx的指定目录下)
Jenkins部署前后端项目_第6张图片

6、配置ssh

#第一步是进入到服务器中生成好的jar包的目录下
# 因为jenkins部署在docer下,并挂载。所以要进入挂载的相关数据卷地址下。(此目录可以在不配ssh前先打包,打包成功会输出相关目录)
cd /opt/data/docker-compose/vol_dockers/jenkins_home/workspace/name/target

#第二步是根据jar包的名字获取运行的pid,并且将该进程杀死
ps -ef | grep 0.0.1-SNAPSHOT.jar  |   grep -v   grep   |   awk '{printf $2}'  |  xargs kill -9

#最后一步就是将这个jar后台启动了,并且将日志输出到warpper.log中。
nohup java -jar 0.0.1-SNAPSHOT.jar >name.log &2>1 &

Jenkins部署前后端项目_第7张图片

部署前端

前端和后端流程差不多
最后ssh不同

#停止docker中的nginx容器
docker stop c3

# 删除 (nginx部署在docker下,下方目录是docker挂载的数据卷目录)
rm -rf /opt/data/nginx/nginx-server-conf/static

# 进入到服务器中生成好的jar包的目录下
cd /opt/data/docker-compose/vol_dockers/jenkins_home/workspace/name

# 移动打包好的目录到docker挂载目录中
mv static/  /opt/data/nginx/nginx-server-conf

# 重启docker 的nginx容器
docker start c3

你可能感兴趣的:(jenkins,运维,docker)