怎么用Jenkins+docker发布Springbot服务

免费教程   2024年05月09日 5:44  

这篇文章主要介绍了怎么用Jenkins+docker发布Springbot服务的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Jenkins+docker发布Springbot服务文章都会有所收获,下面我们一起来看看吧。

1.开发Springbot应用

新建多个环境的配置文件

bootstrap.yaml

通过变量获取不同环境active

bootstrap-dev.yml

bootstrap-pre.yaml

预发布及生产环境配置文件走nacos

二.配置docker

新增Dockerfile文件

Dockerfile内容

#Dockerimageforspringbootfilerun#VERSION0.0.1#Author:eangulee#基础镜像使用javaFROMopenjdk:8#作者MAINTAINERqql<xxx@qq.com>#VOLUME指定了临时文件目录为/tmp。#其效果是在主机/var/lib/docker目录下创建了一个临时文件,并链接到容器的/tmpVOLUME/tmp#设置时区ENVTZ=Asia/ShanghaiRUNln-snf/usr/share/zoneinfo/$TZ/etc/localtime&&echo$TZ>/etc/timezone#将jar包添加到容器中并更名为app.jarARGJAR_FILEADDtarget/cdc-0.0.1-SNAPSHOT.jar/app.jar#替换成你项目打包后的文件名称#配置项目端口EXPOSE8020#运行jar包RUNbash-c'touch/app.jar'ENTRYPOINT["java","-jar","/app.jar","--spring.profiles.active=${env}"]#通过变量传递不同的环境

在服务器项目下新增docker-composer.yaml文件 ,不要放在代码版本库

version:'3'services:project-demo:container_name:cdcd-demo#自定义容器名称image:qql/cdcd:0.0.1#镜像名称restart:alwaysenvironment:env:dev#环境,不同环境使用不同环境名称volumes:#同步时间-/etc/localtime:/etc/localtime:ro#如果项目有些日志或者写文件,需要同步到宿主机器,也需要定义相应的卷#-./data:/etc/project-demo/data#-./log:/etc/project-demo/logports:-8080:8020三.配置Jenkins

新增部署shell脚本

#!/bin/bashecho"当前位置"pwdmvncleanpackage-Dmaven.test.skip=true#切换到项目目录cdcdcpwd#获取最新版本tagLatestTag=$(gitdescribe--tags`gitrev-list--tags--max-count=1`)echo-e"最新版本tag......"echo-e"$LatestTag"echo-e"镜像地址"#获取本机IPlocal_ip=`ifconfigeth0|grep'inet'|awk'{print$2}'|sed-e"s/addr\://"`echo${local_ip}#制作docker镜像dockerbuild-fDockerfile-tqql/cdc:1.0.echo"制作成功"cd../dockerpwd#根据docker-composer.yaml文件新建获取重新构建docker容器docker-compose-fdocker-composer.yaml-pcdcup-dstep=1#间隔的秒数,不能大于60content=""for((i=0;i<60;i=(i+step)));dostatus_code=$(curl-I-m10-o/dev/null-s-w%{http_code}127.0.0.1:8080/index/index)#访问服务一个接口验证容器是否启动echo$status_codeif[$status_code!=200];thensleep$stepecho"服务还没有启动,耗时"$i"秒"elseecho"服务已经启动,耗时"$i"秒"breakfiif[$i==59];thenecho"启动失败"exit-1fidone{dockerrmi`dockerimages|grepnone|awk'{print$3}'`&&/}||{echo'deletenullimageserror(不需要处理)'}

保存,则就可以执行部署

执行构建

关于“怎么用Jenkins+docker发布Springbot服务”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“怎么用Jenkins+docker发布Springbot服务”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部