Spring Boot 应用 快速发布到linux服务器的脚本代码示例
前提说明:
spring boot 应用打包成jar包之后要部署到Linux服务器上面运行,
我用的nohup java -jar 命令,但是代码更新之后重新部署的时候覆盖原来的项目,又要手动运行
ps -ef|grep jar包名 去查找进程,然后kill -9 去kill进程,有时候nohup进程老是kill不掉,只能多试几次,烦不胜烦。
.后来专门花时间研究了一下脚本和本地window上传文件到linux服务器的命令,
整合了一个启动脚本,顿时项目部署变得无比简单,一分钟内在线上的代码就可以更新了。下面是具体步骤:
#!/bin/sh
RESOURCE_NAME=zhgj-0.0.1-SNAPSHOT.jar
cd /home/workspace/zhgj3.0/
git pull
mvn clean package
cd /opt/atlassian/zhgj_3.0/
tpid=`ps -ef|grep $RESOURCE_NAME |grep -v grep|grep -v kill|awk '{print $2}'`
kill -9 ${tpid}
rm -f tpid
###备份文件
currenttime=$(date +%Y%m%d%H%M%S)
cp $RESOURCE_NAME ./backup/$currenttime.jar
rm -rf $RESOURCE_NAME
cp /home/workspace/zhgj3.0/target/zhgj-0.0.1-SNAPSHOT.jar /opt/atlassian/zhgj_3.0/
nohup java -jar $RESOURCE_NAME --spring.profiles.active=test > zhgj3_0.log 2>&1 &
sleep 3
echo $! > tpid
echo Start Success!
第二步, 脚本运行
cd /home (我是把jar包和脚本放在home下面)
chmod +x start.sh (第一次运行的时候获取一下超级管理员权限)
然后以后每次运行直接
./start.sh 即可
Spring Boot 应用 快速发布到linux服务器的脚本代码示例的更多相关文章
- Spring Boot【快速入门】简单案例
Spring Boot[快速入门] Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point ...
- Spring Boot框架——快速入门
Spring Boot是Spring 全家桶非常重要的一个模块,通过 Spring Boot 可以快速搭建一个基于 Spring 的 Java 应用程序,Spring Boot 对常用的第三方库提供了 ...
- ASP.NET Core 网站发布到Linux服务器
长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台,这就使得.NET空有一身绝技但无法得到广大的施展空间,.N ...
- ASP.NET Core 网站发布到Linux服务器(转)
出处;ASP.NET Core 网站发布到Linux服务器 长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台 ...
- java项目发布到linux服务器,tomcat正常启动但没加载项目
问题描述: java项目发布到linux服务器,一切操作正确,linux命令启动tomcat后,查看日志启动tomcat正常,上传的war包已经解压成功,但是tomcat没加载项目. 解决方法: 1. ...
- Spring Boot:快速入门教程
什么是Spring Boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人 ...
- Spring Boot中快速操作Mongodb
Spring Boot中快速操作Mongodb 在Spring Boot中集成Mongodb非常简单,只需要加入Mongodb的Starter包即可,代码如下: <dependency> ...
- Spring Boot 如何快速集成 Redis 哨兵?
上一篇:Spring Boot 如何快速集成 Redis? 前面的分享栈长介绍了如何使用 Spring Boot 快速集成 Redis,上一篇是单机版,也有粉丝留言说有没有 Redis Sentine ...
- Spring Boot:快速入门
上一篇讲述什么是Spring Boot,这一篇讲解怎么使用IDE工具快速搭建起来独立项目. 一.构建方式 快速搭建项目有三种方式,官方也有答案给到我们: 二.构建前准备 想要使用IDE运行起来自己的S ...
随机推荐
- git小白的学习
1.1 Git介绍 1.1.1 什么是Git Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Linux ...
- 源码分析(一) 进程cleos的命令解析
EOS版本:4.0 一.进程cleos的作用 cleos,即为client eos.从名字就可以猜出来,它是一个标准的客户端程序,而实际上,它也确实为一个标准的client^_^ 准确地说 ...
- java.sql.SQLException: Could not commit with auto-commit set on
This kind of exceptions occur when the Oracle JDBC Driver (ojdbc6.jar) version 12 or above will be u ...
- 黑马学习SpringMVC 基本开发步骤
- 063 Unique Paths II 不同路径 II
这是“不同路径” 的进阶问题:现在考虑网格中有障碍物.那样将会有多少条不同的路径从左上角到右下角?网格中的障碍物和空位置分别用 1 和 0 来表示.例如,如下所示在 3x3 的网格中有一个障碍物.[ ...
- 过流监测芯片ADS720/723
在电机应用领域经常需要用到过流监测和保护,allegro的ADS系列就可以很好实现.将芯片串接在电机之前,根据自己要保护的电流大小选择合适的量程,个根据自己ADC测量电压范围选择合适的灵敏度.这类芯片 ...
- 基于CDH5.7.x Kylin部署
配置目标文件为 /etc/profile #Kylin exportKYLIN_HOME=/opt/apache-kylin-1.5.4-cdh5.7-bin #Hadoop export HBASE ...
- spring项目后台中打印sql语句
配置方法很简单,只要在配置文件application.yml加入以下语句 logging: level: main.java.iReview.dao: debug 其中包的位置应为dao层的包位置,不 ...
- pixhawk 固件Firmware内执行make px4fmu-v2_default 编译报错解决办法
执行下列指令报错 make px4fmu-v2_default /bin/sh: 1: Tools/check_cmake.sh: Permission denied Makefile:44: Not ...
- SaaS 系统架构设计经验总结
2B SaaS系统最近几年都很火.很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk SaaS系统.很多SaaS创业公司也拿了大额风投.毕竟SaaS相对传统软件的优势非常明显. ...