当前位置:网站首页>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
边栏推荐
猜你喜欢

Flink HA配置

Flink EventTime和Watermarks案例分析
![[Go through 3] Convolution & Image Noise & Edge & Texture](/img/7b/2214020cadf06d9211fd40fb5f1b63.png)
[Go through 3] Convolution & Image Noise & Edge & Texture

flink项目开发-flink的scala shell命令行交互模式开发

Lecture 3 Gradient Tutorial Gradient Descent and Stochastic Gradient Descent

Matplotlib(二)—— 子图
![LeetCode: 1403. Minimum subsequence in non-increasing order [greedy]](/img/99/41629dcd84e95eb3672d0555d6ef2c.png)
LeetCode: 1403. Minimum subsequence in non-increasing order [greedy]

Mesos learning

flink项目开发-配置jar依赖,连接器,类库

【过一下7】全连接神经网络视频第一节的笔记
随机推荐
【过一下6】机器视觉视频 【过一下2被挤掉了】
【MySQL】数据库多表链接的查询方式
基于Flink CDC实现实时数据采集(三)-Function接口实现
Geek卸载工具
Wise Force Deleter强制删除工具
pycharm中调用Matlab配置:No module named ‘matlab.engine‘; ‘matlab‘ is not a package
[Go through 8] Fully Connected Neural Network Video Notes
OFDM Lecture 16 5 -Discrete Convolution, ISI and ICI on DMT/OFDM Systems
数据库 单表查询
NodeJs接收上传文件并自定义保存路径
2022 Hangzhou Electric Multi-School 1st Session 01
range函数作用
JSX基础
Error creating bean with name 'configDataContextRefresher' defined in class path resource
The difference between the operators and logical operators
Flink Oracle CDC写入到HDFS
小白一枚各位大牛轻虐虐
第四讲 back propagation 反向传播
Flink accumulator Counter 累加器 和 计数器
Transformation 和 Action 常用算子