当前位置: 首页 > news >正文

git maven 一键部署_Docker+Jenkins+Git+Maven实现Springboot项目自动化部署

#!/bin/sh

#docker 镜像/容器名字或者jar名字 这里都命名为这个

SERVER_NAME=logistics

#容器id

CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')

#镜像id

IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')

#当前日期

DATE=`date +%Y%m%d`

#清除旧容器

if [ -n "$CID" ]; then

echo "存在$SERVER_NAME容器,CID=$CID"

echo "停止旧容器"

docker stop $SERVER_NAME

echo "删除旧容器"

docker rm $SERVER_NAME

fi

# 清楚旧镜像

if [ -n "$IID" ]; then

echo "存在$SERVER_NAME镜像,IID=$IID"

echo "删除镜像"

docker rmi $IID

fi

#构建镜像

echo "开始构建镜像"

docker build -f ./src/main/docker/Dockerfile -t $SERVER_NAME:v${DATE} ./target

echo "构建镜像成功!"

# 运行docker容器

echo "创建并启动$SERVER_NAME容器..."

docker run --name $SERVER_NAME -d -p 8071:8071 $SERVER_NAME:v${DATE}

echo "$SERVER_NAME容器启动完成"

相关文章:

  • 添加删除元素_蔡司:CALYPSO高级应用 | 指数交换与添加删除循环
  • 初中物理凸透镜成像动态图_只要看一眼,就能立刻知道凸透镜成像特点,中考物理必考送分题...
  • html5窗口最顶层_快速开发基于 HTML5 网络拓扑图应用——入门篇(一)
  • mime插件 node_【Node.js基础篇】(五)使用mime模块来响应css、js文件的请求
  • react前端封装接口弹出错误_在react项目中用es6封装ajax请求,组件中调用总是报错,求解?...
  • mysql5.7不能存储中文_解决Mysql5.7中文乱码的问题
  • mysql取字段中间字符串_sql 如何截取一个字段里某一字符串中间的字符?
  • mysql分区技术_高性能的MySQL(7)分区技术
  • mysql7.6.8安装教程_Centos7安装mysql8教程
  • rhel8安装配置mysql_Linux下Mysql8.0.19安装配置图文详解(Redhat centos 6.8)
  • mybatis中 if test 写在select后面_手写一个简易版的Mybatis,带你深入领略它的魅力...
  • anaconda版本与python版本不同_anaconda版本与python关系是什么
  • android 输入法更换_关于Android输入法切换的问题
  • centos gem mysql_CentOS 安装 MySQL
  • 后台怎样获得xmlhttprequest通过post上传的二进制数据_第一阶段,java核心技术开发:Ajax异步XMLHttpRequest对象...
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • in typeof instanceof ===这些运算符有什么作用
  • PHP 7 修改了什么呢 -- 2
  • Solarized Scheme
  • 记一次删除Git记录中的大文件的过程
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 我与Jetbrains的这些年
  • 项目实战-Api的解决方案
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #162 (Div. 2)
  • #每天一道面试题# 什么是MySQL的回表查询
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (52)只出现一次的数字III
  • (C)一些题4
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (rabbitmq的高级特性)消息可靠性
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (超详细)语音信号处理之特征提取
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十五)使用Nexus创建Maven私服
  • (万字长文)Spring的核心知识尽揽其中
  • (一)基于IDEA的JAVA基础1
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET是什么
  • .NET学习教程二——.net基础定义+VS常用设置
  • .net中我喜欢的两种验证码
  • @AliasFor注解
  • @Import注解详解
  • @Transactional 详解
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [acm算法学习] 后缀数组SA
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured