Shell脚本 自动部署 SpringBoot 应用
公司项目使用了SpringBoot。开发的应用需要自动上传到服务器。虽然目前对热部署还没完全掌握。先使用shell简化一下部署吧。
# 上传密钥
sshLoginKey=/f/MyFile/root.key
# 项目在本机的目录
MyProject=/d/MyProject/comment # 远程主机上的路径
RemoteHost=root@domainName.com
RemotePath=$RemoteHost:/data/ if [ -f "$sshLoginKey" -a -d "$MyProject" ];then
cd $MyProject
# 只输出错误
mvn clean package -q
# 查找target目录中,最近1分钟内打包的文件。为了脚本通用性,不指定文件名。借助find 查找。
fileName=$(find target -maxdepth 1 -type f -size +20M -regex "target/\w+\.[jw]ar" -cmin -1)
if [ -e "$fileName" ];then
echo "打包成功"
scp -P -i $sshLoginKey $fileName $RemotePath;
if [ $? -eq ];then
echo "上传成功。";
# 停止服务
ssh -p $RemoteHost -i $sshLoginKey "ps -ef | awk '\$NF~/comment/{print \$2}' | xargs kill -9 " # 启动服务
# ssh -p $RemoteHost -i $sshLoginKey "/root/jdk1.8.0_152/bin/java -jar /data/comment.jar 2>&1 >/var/log/comments.log &"
else
echo "上传失败。";
fi
else
echo "打包失败"
exit
fi if [ -f "$fileName" ];then
rm -rf $fileName
fi
else
echo "密钥或项目不存在";
sleep 5s;
fi
Shell脚本 自动部署 SpringBoot 应用的更多相关文章
- shell脚本自动部署及监控
一.shell脚本部署nginx反向代理和三个web服务 1 对反向代理服务器进行配置 #!/bin/bash #修改用户交互页面 用户输入参数执行相应的参数 #安装epel扩展包和nginx fun ...
- shell脚本自动部署nignx反向代理及web服务器,共享存储
#!/bin/bash systemctl status nginx var=$? ] then yum install epel-release -y ] then echo "epel库 ...
- 自动部署Springboot项目脚本小脚本
#!/bin/bash echo '自动部署Springboot项目脚本...' # aaa.jar 项目jar包 pid=`ps -ef|grep aaa.jar|grep -v grep|grep ...
- Shell脚本一键部署——源码编译安装MySQL及自动补全工具
Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者 ...
- 脚本自动部署及监控 web
1.编写脚本自动部署反向代理.web.nfs: I.部署nginx反向代理两个web服务,调度算法使用加权轮询 II.所有web服务使用共享存储nfs,保证所有web都对其有读写权限,保证数据一致性: ...
- shell脚本安装部署反向代理 监控进程 计划任务
1.编写脚本自动部署反向代理.web.nfs: 要求: I.部署nginx反向代理三个web服务,调度算法使用加权轮询: 反向代理服务器脚本配置脚本 #!/bin/bash #安装eple和nginx ...
- linux开发脚本自动部署及监控
linux开发脚本自动部署及监控 开发脚本自动部署及监控一.编写脚本自动部署反向代理.web.nfs:要求:1.部署nginx反向代理三个web服务,调度算法使用加权轮询: #!/bin/sh ngx ...
- shell脚本自动化部署服务
shell脚本自动化部署 !/bin/bash #export PATH=$PATH:/export/maven/bin run_flag_dir="/data0/shell/deploy_ ...
- shell脚本自动清理服务器日志、图片等信息
在做性能测试的时候,linux服务器时常会产生大量数据,如日志信息,图片信息,文件信息等,压测一段时间后,导致服务器磁盘空间暂满而崩溃,每天手动清理比较麻烦, 利用shell脚本自动清理,脚本如下 1 ...
随机推荐
- centos7救援模式--误删/usr/bin/恢复
模拟场景 centos7 误删/usr/bin/等系统内置文件夹, 导致几百个内置命令丢失. 修复 rescue模式 vm模拟一遍(如果在物理机, 可通过U盘方式直接开机U盘进入选择救援模式, 方式通 ...
- open-falcon部署v0.2.1版本
环境准备 安装redis yum install redis -y systemctl start redis 安装mysql rpm -ivh http://dev.mysql.com/get/my ...
- 【做题】SRM704 Div1 Median - ModEquation——数论
原文链接 https://www.cnblogs.com/cly-none/p/SRM704Div1B.html 给出\(n\)和模数\(P\).\(q\)次询问,每次给出一个\([0,P-1]\)范 ...
- (转)Illustrated: Efficient Neural Architecture Search ---Guide on macro and micro search strategies in ENAS
Illustrated: Efficient Neural Architecture Search --- Guide on macro and micro search strategies in ...
- HDU 1067 Gap
HDU 1067 Gap Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) P ...
- 记 Arduino 之 Hello World 篇(Getting Started)
本文仅为入门实验,甚至谈不上研究的程度.目的是:记录如何烧录程序到 Arduino 主板,以及通过一些简单例程,找到 Arduino 开发的感觉. 开发环境:Ardunio IDE(用于编译.上传运行 ...
- 剑指offer 15:反转链表
题目描述 输入一个链表,反转链表后,输出新链表的表头. 法一:迭代法 /* public class ListNode { int val; ListNode next = null; ListNod ...
- Android 项目配置 gitlab-ci 持续集成
一.项目根目录下创建一个 .gitlab-ci.yml 文件 然后在 .gitlab-ci.yml 中配置持续集成的脚本: 脚本配置详细可以看: Configuration of your jobs ...
- 初学spring笔记
简单hello world 项目,了解IOC 反转控制
- 浅谈UML中常用的几种图——类图
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...