文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用Jenkins+docker发布Springbot服务

2023-07-05 10:52

关注

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

1.开发Springbot应用

新建多个环境的配置文件

怎么用Jenkins+docker发布Springbot服务

bootstrap.yaml

怎么用Jenkins+docker发布Springbot服务

 通过变量获取不同环境active 

bootstrap-dev.yml

怎么用Jenkins+docker发布Springbot服务

 bootstrap-pre.yaml

怎么用Jenkins+docker发布Springbot服务

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

二.配置docker

新增Dockerfile文件

怎么用Jenkins+docker发布Springbot服务

Dockerfile内容

# Docker image for springboot file run# VERSION 0.0.1# Author: eangulee# 基础镜像使用javaFROM openjdk:8# 作者MAINTAINER qql <xxx@qq.com># VOLUME 指定了临时文件目录为/tmp。# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmpVOLUME /tmp# 设置时区ENV TZ=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone# 将jar包添加到容器中并更名为app.jarARG JAR_FILEADD target/cdc-0.0.1-SNAPSHOT.jar /app.jar #替换成你项目打包后的文件名称#配置项目端口EXPOSE 8020# 运行jar包RUN bash -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: always    environment:      env: dev #环境,不同环境使用不同环境名称    volumes:      # 同步时间      - /etc/localtime:/etc/localtime:ro      # 如果项目有些日志或者写文件,需要同步到宿主机器,也需要定义相应的卷#      - ./data:/etc/project-demo/data#      - ./log:/etc/project-demo/log    ports:      - 8080:8020

三.配置Jenkins

怎么用Jenkins+docker发布Springbot服务

怎么用Jenkins+docker发布Springbot服务

怎么用Jenkins+docker发布Springbot服务

新增部署shell脚本

怎么用Jenkins+docker发布Springbot服务

#!/bin/bash echo "当前位置"pwd mvn clean package -Dmaven.test.skip=true#切换到项目目录cd cdcpwd#获取最新版本tagLatestTag=$(git describe --tags `git rev-list --tags --max-count=1`)echo -e "最新版本tag......"echo -e "$LatestTag"echo -e "镜像地址"  #获取本机IPlocal_ip=`ifconfig eth0 | grep 'inet' | awk '{print $2}' | sed -e "s/addr\://"`echo ${local_ip}#制作docker镜像docker build  -f Dockerfile -t qql/cdc:1.0 .echo "制作成功"cd ../dockerpwd#根据docker-composer.yaml文件新建获取重新构建docker容器docker-compose -f docker-composer.yaml -p cdc up -dstep=1 #间隔的秒数,不能大于60content="" for (( i = 0; i < 60; i=(i+step) )); dostatus_code=$(curl -I -m 10 -o /dev/null -s -w %{http_code}  127.0.0.1:8080/index/index) #访问服务一个接口验证容器是否启动echo $status_codeif [ $status_code != 200 ]; then  sleep $step  echo "服务还没有启动,耗时"$i"秒"else  echo "服务已经启动,耗时"$i"秒"  breakfi if [ $i == 59 ]; then  echo "启动失败"  exit -1fidone {  docker rmi `docker images | grep none | awk '{print $3}'` && / } || {  echo 'delete null images error(不需要处理)'}

保存,则就可以执行部署

怎么用Jenkins+docker发布Springbot服务

执行构建 

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯