自动布署java项目(shell 脚本)
使用 git 建一个远程仓库
在线上服务器上安装 maven ,因为我们要使用 maven 的打包功能
注意一下, maven 的仓库地址, 和配置一下maven 的镜像地址,使用国内的源
自动布署的 shell 脚本
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================echo 停止原来运行中的工程
APP_NAME=你自己的项目名
### APP_NAME = test-0.0.1-SNAPSHOT.jar
### 这个地方的名称 就是pom 文件中的 artifactId , 但最好是写全一点 比如打包了之后的 包名称是 test-0.0.1-SNAPSHOT.jar
### 那么这里的 APP_NAME 就写成 test-0.0.1-SNAPSHOT.jar , 因为后面 tpid 的变量同 会匹配这个 app_name 的, 如果匹配的结果很多, tpid 的值会是多个, kill不掉, 脚本执行达不到效果### 这里使用 kill -15 是一种柔和的关闭进程的一种方式
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; thenecho 'Stop Process...'kill -15 $tpid
fi
### 这里是等待两秒之后, 如果还找到了进程的id ,那就进行强制关闭
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; thenecho 'Kill Process!'kill -9 $tpid
elseecho 'Stop Success!'
fiecho 准备从Git仓库拉取最新代码
cd /usr/local/myapp/git_hello/你自己的项目名echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`cd targetecho 启动项目
nohup java -jar 你自己的项目名-0.0.1-SNAPSHOT.jar &> 你自己的项目名.log &
echo 项目启动完成
自动布署java项目(shell 脚本)相关推荐
- 脚本运行显示服务器超时,java执行shell脚本超时
java执行shell脚本超时 [2021-02-11 04:20:34] 简介: 系统运维 在数据库运维的过程中,Shell 脚本在很大程度上为运维提供了极大的便利性.而shell 脚本参数作为变 ...
- java无阻塞执行脚本,JAVA调用Shell脚本-及阻塞的解决方法
JAVA调用Shell脚本--及阻塞的解决办法 用java调用shell,使用 Process p=Runtime.getRuntime().exec(String[] cmd); Runtime.e ...
- shell编写mysql全备和增备脚本_基于mysqldump编写自动全备增备的shell脚本
基于mysqldump编写自动全备增备的shell脚本 在线上MySQL数据库备份分为全备和增备,而xtrabackup备份已经支持了增量备份了,但是mysqldump就不支持增量备份,所以我们需要写 ...
- php项目自动布署mysql_如何自动化一键部署PHP项目
1.技能需求 完成自动化一键部署PHP需要:PHP(略懂),Shell(略懂),git(略懂) 2.最终效果 输入密码,回车,5~20秒后(一般一天一次持续交付,部署的代码量和sql脚本都不会很大) ...
- php项目自动布署mysql_PHP工程布署教程
安装准备### 1.phpStudy 布署软件 2.PHP工程及数据库edu.sql 安装步骤### 1.先安装phpStudy程序 2.将php工程解压至.../WWW/文件夹下 3.在phpStu ...
- JAVA项目启动脚本编写的一些笔记整理
写在前面 公司项目里看到,之前的项目都是在物理机部署的,而且大都是Server,没搞过,这里整齐学习. 博文分为两部分: 项目启动脚本总结,java常用启动参数,,启动参数部分参考 流年似水,有些事情 ...
- linux 布署 java,JAVA Web布署到Linux相干命令
JAVA Web布署到Linux相关命令 引用 一.将程序布署到Linux前我们需要一些准备工作: 1.首先安装Linux系统并配置好登录用户名和密码 2.然后在linux系统配置一个FTP(VFTP ...
- java 远程shell脚本_java通过ssh连接服务器执行shell命令详解及实例
java通过ssh连接服务器执行shell命令详解 java通过ssh连接服务器执行shell命令:JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转 ...
- Jenkins+Ant自动布署war
为什么80%的码农都做不了架构师?>>> 一.jenkins配置 在jenkins里面配置好ant版本 构建完成后执行shell脚本重启tomcat 二.build.xml配置 ...
最新文章
- tomcat 7.0 linux下载,Tomcat 7.0.67 发布下载
- duilib基本布局学习(模仿百度网盘)及绑定按钮事件
- 白话详细解读(七)----- Batch Normalization
- PHP网站如何搬迁,如何搬迁DedeCMS站点数据
- linux管理Windows文件,Linux与Windows互传文件,用户组管理和用户管理
- SpringBoot中使用Shiro和JWT做认证和鉴权
- 深度隐式表达系列 (二)
- SQL Server 的本地时间和UTC时间
- 为Python安装Redis库
- 冲顶大会/芝士超人/花椒直播...答题助手
- html 倒计时小工具
- isupper()函数
- 淘宝广告数据分析实战!(附代码和100W数据源)
- .NET MVC同页面显示从不同数据库(mssql、mysql)的数据
- mc正版mite服务器,MITE-R192服务端客户端 配套独立可管理登陆系统
- 【推荐系统】DUPN:Deep User Perception Network
- 【opencv4.3.0教程】08之图像掩膜(Mask)操作与执行时间
- 支付宝沙箱开启以及配置
- 自定义服务器手游,DIY战斗模式 《梦幻西游》手游自定义赛事全服开启
- 基于Uni-APP多端「h5+小程序+App」高仿抖音小视频|直播|聊天实例
热门文章
- 【池化技术】池化技术基础和原理
- 选择工业建模好还是游戏建模更有前途?资深建模师为你解答
- 多视角多行为推荐对比学习
- python中接入支付宝当面付
- python画等高线和生成网格点【转载】
- 如何修理无线网络电视服务器,电视连接无线网络为什么连接服务器超?
- OTT变革进入“深水区”,看酷开系统7.0如何搅动“新硬件”蓝海
- mysql四舍五入函数取两位小数_MySQL四舍五入函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)
- mybatis-plus 关联查询
- 电脑删除文件不自动刷新