iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >Jenkins+docker发布Springbot服务的实现
  • 340
分享到

Jenkins+docker发布Springbot服务的实现

Jenkins+docker发布Springbootdocker发布Springboot 2023-03-09 18:03:55 340人浏览 薄情痞子
摘要

目录一.开发springbot应用二.配置Docker三.配置jenkins一.开发Springbot应用 新建多个环境的配置文件 bootstrap.yaml  通过

一.开发Springbot应用

新建多个环境的配置文件

bootstrap.yaml

 通过变量获取不同环境active 

bootstrap-dev.yml

 bootstrap-pre.yaml

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

二.配置docker

新增Dockerfile文件

Dockerfile内容

# Docker image for SpringBoot file run
# VERSioN 0.0.1
# Author: eangulee
# 基础镜像使用java
FROM openjdk:8
# 作者
MaiNTAINER qql <xxx@qq.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 将jar包添加到容器中并更名为app.jar
ARG JAR_FILE
ADD 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

新增部署shell脚本

#!/bin/bash 
echo "当前位置"
pwd
 
mvn clean package -DMaven.test.skip=true
#切换到项目目录
cd cdc
pwd
#获取最新版本tag
LatestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
echo -e "最新版本tag......"
echo -e "$LatestTag"
echo -e "镜像地址"
 
 
#获取本机IP
local_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 ../docker
pwd
#根据docker-composer.yaml文件新建获取重新构建docker容器
docker-compose -f docker-composer.yaml -p cdc up -d
step=1 #间隔的秒数,不能大于60
content=""
 
for (( i = 0; i < 60; i=(i+step) )); do
status_code=$(curl -I -m 10 -o /dev/null -s -w %{Http_code}  127.0.0.1:8080/index/index) #访问服务一个接口验证容器是否启动
echo $status_code
if [ $status_code != 200 ]; then
  sleep $step
  echo "服务还没有启动,耗时"$i"秒"
else
  echo "服务已经启动,耗时"$i"秒"
  break
fi
 
if [ $i == 59 ]; then
  echo "启动失败"
  exit -1
fi
done
 
{
  docker rmi `docker images | grep none | awk '{print $3}'` && /
 
} || {
  echo 'delete null images error(不需要处理)'
}

 保存,则就可以执行部署

到此这篇关于Jenkins+docker发布Springbot服务的实现的文章就介绍到这了,更多相关Jenkins+docker发布Springbot内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Jenkins+docker发布Springbot服务的实现

本文链接: https://www.lsjlt.com/news/199158.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Jenkins+docker发布Springbot服务的实现
    目录一.开发Springbot应用二.配置docker三.配置Jenkins一.开发Springbot应用 新建多个环境的配置文件 bootstrap.yaml  通过...
    99+
    2023-03-09
    Jenkins+docker发布Springboot docker发布Springboot
  • 怎么用Jenkins+docker发布Springbot服务
    这篇文章主要介绍了怎么用Jenkins+docker发布Springbot服务的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Jenkins+docker发布Springbot服务文章都会有所收获,下面我们...
    99+
    2023-07-05
  • Docker使用Git实现Jenkins发布、测试项目的详细流程
    目录一、安装Docker二、创建自定义网络地址三、docker创建容器四、自定义镜像五、配置nginx反向代理六、项目上传到Git仓库七、使用Jenkins发布、测试项目一、安装Do...
    99+
    2024-04-02
  • Docker Compose构建Jenkins的实现
    目录创建目标文件夹创建docker-compose.yml解锁 Jenkins插件安装Jenkins手动安装插件配置 JDK & Maven安装动态参数插件配置 Jenkin...
    99+
    2024-04-02
  • Jenkins+Docker持续集成的实现
    目录一、Jenkins介绍二、安装部署Jenkins1.环境信息2.新建Jenkins用户3.Jenkins安装方式4.Jenkins授权和访问控制5.Jenkins系统配置三、Je...
    99+
    2024-04-02
  • Docker镜像发布到Docker Hub的实现方法
    目录一、Docker 官网注册一个账号,新建仓库二、制作镜像,保存修改后的容器镜像为例三、镜像上传四、镜像下载在使用docker过程中,往往会用到镜像仓库,方便管理的同时也方便在其他...
    99+
    2024-04-02
  • 使用Jenkins+docker打包部署后端服务的实现
    目录安装Jenkins配置1、配置工具2、配置Publish over SSH3、编译构建4、推送jar包构建镜像老板给了两台服务器,一台windows用来打包,一台linux用于构...
    99+
    2022-11-13
    Jenkins docker打包部署
  • asp.net core + jenkins 实现自动化发布功能
    目录一、安装Jenkins二、安装Gitee插件三、服务器相关编译环境配置四、新建自动构建任务由于部署个人博客系统的服务器只有2G内存,每次利用jenkins编译,发布的时候jenk...
    99+
    2024-04-02
  • Jenkins打包微服务构建Docker镜像运行的实现
    目录环境准备开始1.GitLab远程仓库创建微服务项目 2.IDEA代码推送到Gitlab 3.Jenkins创建流水线项目 4.参数化构建 5.拉取远程仓库的构建脚本 6.编写远程...
    99+
    2024-04-02
  • docker-compose实现微服务jar+mysql的容器服务发布(经典版)
    一  安装mysql服务 1.1 拉取镜像 拉取: docker  pull  mysql:5.7.29 查看镜像: docker  images 1.2 在宿主机创建文件存储mysql 创建映射目录:mysql-c5  在/root/e...
    99+
    2023-09-18
    docker mysql 容器
  • 使用jenkins一键打包发布vue项目的实现
    目录jenkins的安装安装更换端口号(默认运行在8080端口)基础配置发布vue项目安装插件-nodejs配置nodejs插件创建任务jenkins的安装 Jenkins是一款开源...
    99+
    2024-04-02
  • docker部署安装jenkins的实现步骤
    首先,我们需要一台安装了docker的服务器。(这个我已经在我的小主机上安装了) 第一步,把镜像给拉下来 docker pull jenkins/jenkins:lts 第二...
    99+
    2024-04-02
  • Docker如何安装jenkins实现微服务多模块打包
    这篇文章主要介绍“Docker如何安装jenkins实现微服务多模块打包”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker如何安装jenkins实现微服务多模块打包”文章能帮助大家解决问题。...
    99+
    2023-07-02
  • jenkins配置golang 代码工程自动发布的实现方法
    目录前沿一、在jenkins宿主机上配置go环境;1、安装go;2、配置环境变量3、验证环境是否可用二、jenkis上配置项目1、jks上新建项目2、“源码管理&rdqu...
    99+
    2024-04-02
  • 使用docker搭建jenkins自动化工具的实现
    目录一、jenkins二、基于docker 搭建 jenkins三、jenkins 自动发布 SpringBoot 镜像一、jenkins Jenkins是一个开源软件项目,是基于J...
    99+
    2024-04-02
  • docker发布sunnyNgrok怎么实现内外网穿透
    本篇内容主要讲解“docker发布sunnyNgrok怎么实现内外网穿透”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker发布sunnyNgrok怎么实现内外网穿透”吧!一、创建自定义镜...
    99+
    2023-07-05
  • Gogs+Jenkins+Docker实现自动化部署.NetCore的方法步骤
    本篇内容主要讲解“Gogs+Jenkins+Docker实现自动化部署.NetCore的方法步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Gogs+Jenkins+Docker实现自动化部署...
    99+
    2023-06-20
  • Jenkins构建Docker镜像并推送至Harbor仓库的实现
    目录Dockerfile文件pom.xmlJenkins配置​ spring boot项目通过Jenkins集成构建Docker镜像推送到harbor仓库并启动容器然后拉...
    99+
    2024-04-02
  • docker将本地镜像发布到阿里云的实现方法
    目录创建仓库镜像命名空间镜像仓库 将镜像推送到仓库查看自己的用户名登录推送查询镜像推送查看下载镜像创建仓库镜像 进入阿里云开发者平台 点击,进行登录,这里可以用支付宝等进行...
    99+
    2024-04-02
  • docker发布服务无法访问怎么解决
    有几种可能的原因导致无法访问Docker发布的服务: 端口映射问题:确保在运行Docker容器时正确地映射了容器内部的端口到主机...
    99+
    2023-10-27
    docker
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作