当前位置:网站首页>spingboot 容器项目完成CICD部署
spingboot 容器项目完成CICD部署
2022-08-05 05:14:00 【爱埋珊瑚海~~】
GitLab+Jenkins+Docker 完成SpringBoot项目的持续集成
部署介绍
传统的项目持续集成,通常由gitlab+jenkins完成项目的持续集成部署。随着容器化技术的日益成熟,很多项目都采用容器化部署管理,本章节则会给大家介绍怎么完成docker项目的持续集成部署
部署架构
部署准备
项目docker化
以springboot项目test-service为例说明,首先需要新建一个Dockerfile文件,内容如下:
FROM java:8
ENV LANG=C.UTF-8
ENV TZ=Asia/Shanghai
ADD test-service.jar app.jar
CMD ["sh","-c","java -Xmx512m -Xms256m -XX:SurvivorRatio=4 -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -jar -XX:InitiatingHeapOccupancyPercent=70 -Xloggc:/var/log/java_gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps app.jar "]
制作生成镜像制品和执行运行容器的脚本
docker images | grep test-service/latest &> /dev/null
if [ $? -ne 0 ]
then
echo "test-service/latest is not existed,we will docker build it!!!"
docker build -t test-service/latest .
else
echo "test-service/latest is existed!!!"
docker rmi -f test-service/latest
docker build -t test-service/latest .
fi
docker ps -a| grep test-service &> /dev/null
if [ $? -ne 0 ]
then
echo "test-service is not up,we will start up it!!!"
docker run -d -p 8099:8099 --name test-service test-service/latest
else
docker rm -f metadata-service
docker run -d -p 8099:8099 --name test-service metadata-service/latest
echo "test-service is up!!!"
fi
Jenkins部署配置
构建环境
其中clean的参数说明如下图所示:
构建配置
执行的脚本如下:
cd /home/data/
rm -rf test-service
mkdir test-service
cp /var/lib/docker/volumes/jenkins_data/_data/workspace/test-service/test-service/target/test-service.jar /home/data/test-service
cp /var/lib/docker/volumes/jenkins_data/_data/workspace/test-service/test-service/Dockerfile /home/data/test-service
cp /var/lib/docker/volumes/jenkins_data/_data/workspace/test-service/test-service/dockerBuild.sh /home/data/test-service
cd /home/data/test-service
chmod -R 777 dockerBuild.sh
./dockerBuild.sh
边栏推荐
- JSX基础
- Opencv中,imag=cv2.cvtColor(imag,cv2.COLOR_BGR2GRAY) 报错:error:!_src.empty() in function ‘cv::cvtColor‘
- 【记一下1】2022年6月29日 哥和弟 双重痛苦
- Lecture 5 Using pytorch to implement linear regression
- spark-DataFrame数据插入mysql性能优化
- Flink HA安装配置实战
- 怎样在Disciples门徒获得收益?
- el-pagination分页分页设置
- Returned object not currently part of this pool
- [Redis] Resid的删除策略
猜你喜欢
Flink HA安装配置实战
【NFT开发】设计师无技术基础保姆级开发NFT教程在Opensea上全套开发一个NFT项目+构建Web3网站
flink中文文档-目录v1.4
Lecture 5 Using pytorch to implement linear regression
SQL(一) —— 增删改查
Flink Distributed Cache 分布式缓存
[Study Notes Dish Dog Learning C] Classic Written Exam Questions of Dynamic Memory Management
el-pagination左右箭头替换成文字上一页和下一页
第四讲 back propagation 反向传播
【After a while 6】Machine vision video 【After a while 2 was squeezed out】
随机推荐
spark-DataFrame数据插入mysql性能优化
In Opencv, imag=cv2.cvtColor(imag,cv2.COLOR_BGR2GRAY) error: error:!_src.empty() in function 'cv::cvtColor'
学习总结week2_3
Returned object not currently part of this pool
redis 缓存清除策略
flink中文文档-目录v1.4
学习总结week3_1函数
Lecture 2 Linear Model Linear Model
转正菜鸟前进中的经验(废话)之谈 持续更新中... ...
redis cache clearing strategy
Flink Distributed Cache 分布式缓存
数据库实验五 备份与恢复
el-table,el-table-column,selection,获取多选选中的数据
Flink和Spark中文乱码问题
[Go through 3] Convolution & Image Noise & Edge & Texture
Transformation 和 Action 常用算子
机器学习(二) —— 机器学习基础
怎样在Disciples门徒获得收益?
Mesos learning
将照片形式的纸质公章转化为电子公章(不需要下载ps)