Spring Boot应用的极速部署脚本示例代码
前言
本文主要给大家介绍了关于Spring Boot应用极速部署脚本的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
部署方法如下:
在 pom.xml 路径下新建文件 start.sh
#!/bin/bash #0、删除原有的日志文件 rm -f nohup.out #1、获取正在运行的 Spring Boot 应用的 pid appPid=`netstat -ntlp | grep java | awk '{print $7}' | head -1 | grep '[0-9]\+' -o` #2、关闭正在运行的 Spring Boot 应用 kill -9 ${appPid} #3、从 git 上拉最新的代码 git pull #4、使用 Maven 打包最新的代码 mvn clean package #5、后台运行新的 jar 文件 nohup java -jar target/*.jar & #6、休息 3 秒 sleep 3 #7、打印最新的日志 tail -f nohup.out
使 start.sh 这个脚本可执行
chmod a+x start.sh
使用脚本,一行命令重新构建应用
./start.sh
补充
如何指定关闭指定应用?
#!/bin/sh APP_NAME=video appid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${appid} ]; then echo 'Kill Process!' kill -9 $appid fi
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
详解springboot热启动与热部署
一.热启动: 每自修改后, 程序自动启动spring Application上下文. Pom中直接添加依赖即可: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> 这里需要注意的
-
Spring boot实现热部署的两种方式详解
热部署是什么 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的 Class 文件,这个文件里记录着和代码等对应的各种信息,然后 Class 文件将被虚拟机的 ClassLoader 加载. 而热部署正是利用了这个特点,它监听到如果有 Class 文件改动了,就会创建一个新的 ClaassLoader 进行加载该文件,经过一系列的过程,最终将结果呈现在我们眼前. 类加载机制 Java 中的类经过编译器可以把代
-
如何把spring boot项目部署到tomcat容器中
把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 <packaging>war</packaging> 二.移除嵌入式tomcat插件 在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码, <dependency> <groupId>org.springframework.boot</groupId> <artifactId&
-
使用Docker部署 spring-boot maven应用的方法
本文介绍了使用Docker部署 spring-boot maven应用,分享给大家,具体如下: 部署过程分为以下几个步骤: 创建一个简单的spring-boot应用 打包运行应用 容器化应用 在pom文件中添加docker支持 创建docker镜像 运行docker容器 查看正在运行的容器 启动/关闭/重启/删除docker容器 1. 创建一个简单的spring-boot应用 在IntelliJ IDEA中File->New->Project: 然后点Next->Finish. 2. 打
-
Spring boot 基本部署方式
String boot 部署 SpringBoot部署也是非常简单,首先,需要把打包输出的包由jar改为war,即修改pom.xml中packaging节点: <packaging>war</packaging> 然后,修改pom.xml类,新增依赖: tomcat依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s
-
springboot + devtools(热部署)实例教程
技术介绍 devtools:是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件.属性文件.页面等)时,会重新启动应用(由于其采用的双类加载器机制,这个启动会非常快,如果发现这个启动比较慢,可以选择使用jrebel) 双类加载器机制:boot使用了两个类加载器来实现重启(restart)机制:base类加载器(简称bc)+restart类加载器(简称rc). bc:用于加载不会改变的jar(eg.第三方依赖的jar) rc:用于加载我们正在开发的jar(eg.整个项目里
-
SpringBoot 创建web项目并部署到外部Tomcat
前言 使用SpringBoot来开发项目相对于传统模式,要快速优雅许多,相信目前国内绝大部分web项目的开发还没有使用SpringBoot来做,如果你正需要开发一个web项目,不妨尝试使用SpringBoot来做. 本身SpringBoot是内嵌了web服务器,不需要单独的Tomcat,但是实际生产环境中,如果是web项目,Tomcat肯定是运维部门部署好了的,这个Tomcat,做了一些个性化的设置,开发出来的项目需要部署到这个Tomcat,如果是使用SpringBoot开发web服务,我认为可
-
详解Spring Boot 部署与服务配置
spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat.weblogic等等),当然在此之前你要对程序入口做简单调整. 项目构建我们使用Maven或Gradle,这将使项目依赖.jar包管理.以及打包部署变的非常方便. 一.内嵌 Server 配置 Spring Boot将容器内置后,它通过配置文件
-
详解SpringBoot配置devtools实现热部署
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtools的原理 深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个r
-
Spring Boot应用的极速部署脚本示例代码
前言 本文主要给大家介绍了关于Spring Boot应用极速部署脚本的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 部署方法如下: 在 pom.xml 路径下新建文件 start.sh #!/bin/bash #0.删除原有的日志文件 rm -f nohup.out #1.获取正在运行的 Spring Boot 应用的 pid appPid=`netstat -ntlp | grep java | awk '{print $7}' | head -1 | grep
-
Spring Boot 实现Restful webservice服务端示例代码
1.Spring Boot configurations application.yml spring: profiles: active: dev mvc: favicon: enabled: false datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/wit_neptune?createDatabaseIfNotExist=true&useUnicode=true&
-
Spring Boot加密配置文件特殊内容的示例代码详解
有时安全不得不考虑,看看新闻泄漏风波事件就知道了我们在用Spring boot进行开发时,经常要配置很多外置参数ftp.数据库连接信息.支付信息等敏感隐私信息,如下 这不太好,特别是互联网应用,应该用加密的方式比较安全,有点类似一些应用如电商.公安.安检平台.滚动式大屏中奖信息等显示身份证号和手机号都是前几位4109128*********和158*******.那就把图中的明文改造下1. 引入加密包,可选,要是自己实现加解密算法,就不需要引入第三方加解密库 <dependency> &l
-
Java spring boot 实现支付宝支付功能的示例代码
一.准备工作: 1.登陆支付宝开发者中心,申请一个开发者账号. 地址:https://openhome.alipay.com/ 2.进入研发服务: 3.点击链接进入工具下载页面: 4.点击下载对应版本的RSA公钥生成器: 5.生成公钥密钥(记录你的应用私钥): 6.在支付宝配置公钥(点击保存): 二.搭建demo 1.引入jia包: <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alip
-
Spring boot实现应用打包部署的示例
1.Spring Boot内置web Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat.weblogic等等),当然在此之前你要对程序入口做简单调整. 对server的几个常用的配置做个简单说明: # 项目contextPath,一般在正式发布版本中,我们不配置 server.context-
-
使用Spring Boot创建Web应用程序的示例代码
在这篇文章中,我们将探讨使用Spring Boot创建Web应用程序的细节. 我们将探索Spring Boot如何帮助你加速应用程序开发. 我们将使用Spring Boot构建一个简单的Web应用程序,并为其添加一些有用的服务. 1. 介绍 启动一个新项目的主要挑战之一是该项目的初始设置. 我们需要对不同的目录结构进行调用,并且需要确保我们遵循所有行业标准.对于使用Spring Boot创建Web应用程序,我们需要以下工具: 我们自己喜欢的IDE (我将使用IntelliJ) Maven JDK
-
spring boot的拦截器简单使用示例代码
1.spring boot拦截器默认有: HandlerInterceptorAdapter AbstractHandlerMapping UserRoleAuthorizationInterceptor LocaleChangeInterceptor ThemeChangeInterceptor 其中 LocaleChangeInterceptor 和 ThemeChangeInterceptor 比较常用. 2.实现自定义拦截器只需要3步: 1).创建我们自己的拦截器类并实现 Handler
-
Spring Boot+AngularJS+BootStrap实现进度条示例代码
Spring Boot+AngularJS+BootStrap实现进度条 原理 进度条的原理是在上传文件的时候,当程序运行到某一个部分,往Session中设置一个1到100的值.然后前台再每隔很小的一段时间去请求这个值. 在AngularJS中,$http对象有3种状态,分别是success,progress,error,其中progress方法就会在success方法调用之前(也就是上传完成之前),不断地调用.而我们要做的就是在progress中在添加一个请求,去后台拿我们设置在session
-
spring boot中使用http请求的示例代码
因为项目需求,需要两个系统之间进行通信,经过一番调研,决定使用http请求. 服务端没有什么好说的,本来就是使用web 页面进行访问的,所以spring boot启动后,controller层的接口就自动暴露出来了,客户端通过调用对应的url即可,所以这里主要就客户端. 首先我自定义了一个用来处理http 请求的工具类DeviceFactoryHttp,既然是url访问,那就有两个问题需要处理,一个请求服务的url,和请求服务端的参数,客户端的消息头请求服务的url:请求服务端url我定义的是跟
-
Spring Boot实战之数据库操作的示例代码
上篇文章中已经通过一个简单的HelloWorld程序讲解了Spring boot的基本原理和使用.本文主要讲解如何通过spring boot来访问数据库,本文会演示三种方式来访问数据库,第一种是JdbcTemplate,第二种是JPA,第三种是Mybatis.之前已经提到过,本系列会以一个博客系统作为讲解的基础,所以本文会讲解文章的存储和访问(但不包括文章的详情),因为最终的实现是通过MyBatis来完成的,所以,对于JdbcTemplate和JPA只做简单演示,MyBatis部分会完整实现对文
随机推荐
- 正则表达式详述 三
- JavaScript原生数组Array常用方法
- java 深拷贝与浅拷贝机制详解
- Oracle与Mysql主键、索引及分页的区别小结
- Python字符串格式化
- MySQL的一条慢SQL查询导致整个网站宕机的解决方法
- Vue+Element使用富文本编辑器的示例代码
- javascript中的一些注意事项 更新中
- PHP中获取文件扩展名的N种方法小结
- PHP使用SWOOLE扩展实现定时同步 MySQL 数据
- 使用js判断当前时区TimeZone是否是夏令时
- Ionic默认的Tabs模板使用实例
- java中的文件操作总结(干货)
- 编写简易Android天气应用的代码示例
- php对象在内存中的存在形式分析
- php 引用(&)详解
- python实现聚类算法原理
- C# WebApi 接口返回值不困惑:返回值类型详解
- django进阶之cookie和session的使用示例
- PHP学习的技巧和学习的要素总结