linux下远程升级脚本,linux 服务发布脚本升级,远程发布,指定拉取远程dev,test等分支代码...

1.本地发布脚本 publish.sh

#!/bin/sh

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

currentTime=`date +%Y%m%d%H%M%S`

tomcat1=/data/app/tomcat-contract

confDir=/root/sh/config

svnDir=/data/app/git/contract

#echo ">>>>>>>>>>>>>>>>>>>>>>>>备份版本"

#mkdir -p /data/app/tomcat-contract/backup/$currentDay

#cp $svnDir/Bonade-Contract-Service/target/Bonade-Contract-Service.war /data/app/tomcat-contract/backup/20190109/"Bonade-Contract-Service_$currentTime".war

#cp $svnDir/Bonade-Contract-Web/target/Bonade-Contract-Web.war /data/app/tomcat-contract/backup/20190109/"Bonade-Contract-Web_$currentTime".war

echo ">>>>>>>>>>>>>>>>>>>>>>>>更新代码"

cd $svnDir

git fetch origin dev

git checkout dev

git pull

sleep 10s

echo ">>>>>>>>>>>>>>>>>>>>>>>>编译打包"

mvn -U clean install -DskipTests -X

#mvn -u clean install

#sleep 120s

echo ">>>>>>>>>>>>>>>>>>>>>>>>停止tomcat1"

kill -9 `cat /data/app/tomcat-contract/temp/contract.pid`

#sleep 5s

echo ">>>>>>>>>>>>>>>>>>>>>>>>删除tomcat1下的文件"

rm -rf $tomcat1/webapps/*

echo ">>>>>>>>>>>>>>>>>>>>>>>>发布tomcat1"

unzip $svnDir/Bonade-Contract-Service/target/Bonade-Contract-Service.war -d $tomcat1/webapps/Bonade-Contract-Service

unzip $svnDir/Bonade-Contract-Web/target/Bonade-Contract-Web.war -d $tomcat1/webapps/Bonade-Contract-Web

#清除多余的日志包

rm -f $tomcat1/webapps/Bonade-Contract-Service/WEB-INF/lib/slf4j-log4j12-1.7.5.jar

echo "copy 配置文件"

mkdir $tomcat1/webapps/Bonade-Contract-Web/WEB-INF/classes/config

\cp -rf $confDir/system.properties $tomcat1/webapps/Bonade-Contract-Web/WEB-INF/classes/config

\cp -rf $confDir/system.properties $tomcat1/webapps/Bonade-Contract-Service/WEB-INF/classes/config

\cp -rf $confDir/jdbc.properties $tomcat1/webapps/Bonade-Contract-Service/WEB-INF/classes/config

#sleep 20s

echo "启动服务"

sh $tomcat1/bin/startup.sh

2.远程发布

#sftp上传应用包

sftp root@ip地址 << !

echo 上传service

put /data/app/git/contract/Bonade-Contract-Service/target/Bonade-Contract-Service.war /data/app/tomcat-contract/backup/

echo 上传web

put /data/app/git/contract/Bonade-Contract-Web/target/Bonade-Contract-Web.war /data/app/tomcat-contract/backup/

echo 上传结束

!

#远程shell脚本执行发布

echo 执行发布

ssh root@129.204.115.46 "sh ~/sh/publish.sh"

echo 发布完成

3.可以修改上面git 拉取分支,将分支参数化 ,这里如果改成在windows下使用doc命令传参就用 %1 获取参数。

git fetch origin $1

git checkout $1

git pull

执行  sh publish.sh dev 即可拉取dev分支, sh publish.sh test 拉取test分支

sh publish.sh dev

git拉取远程分支并创建本地分支

本地分支推送至远程 git checkout local_branch git push origin local_branch:remote_branch 一.查看远程分支 使用如下Git命令查看所 ...

pycharm连接远程服务器(拉取版本)

pycharm连接远程服务器(拉取版本) 有这篇教程是因为,博主有两个办公地点,想着在办公地点A上传代码到服务器并调试,并在B时候可以拉取这份代码,并进行调试.因此有这篇拉取版本的博客,之前还有上传版 ...

git拉取远程分支并创建本地分支和Git中从远程的分支获取最新的版本到本地

git拉取远程分支并创建本地分支 一.查看远程分支 使用如下Git命令查看所有远程分支: git branch -r 二.拉取远程分支并创建本地分支 方法一 使用如下命令: git checkout ...

git 拉取远程分支到本地

步骤: 1.新建一个空文件,文件名为hhhh 2.初始化 git init 3.自己要与origin master建立连接(下划线为远程仓库链接) git remote add origin git@ ...

git 拉取远程代码

git 拉取远程代码 || 利用vscode编辑器自带了git,可在ctrl+~打开控制台拉取代码,非常好用哦~在实际项目开发过程中,往往是已经存在远程项目了,我们定义的需求是只需要简单的操作git, ...

git拉取远程分支到本地

git拉取远程分支到本地 一.查看远程分支 -- 查看远程分支 git branch -r 二.拉取远程分支并创建本地分支 -- 采用此种方法建立的本地分支会和远程分支建立映射关系. git chec ...

docker每次都重新拉取远程镜像的问题

将镜像上传到远程之后,dockerfile按理来说只需一次拉取远程镜像就好了,之后每次都是使用第一次拉取的远程镜像. 但是实际上出现的问题是:dockerfile每次都从远程拉取镜像,浪费了资源和时间 ...

Git直接拉取远程分支

用Git,一直有个疑惑,可不可以不拉取远程Origin主干,我直接pull一个分支下来 今天想了一下,找到了一个办法 本地分支关联 // 0.新建一个文件夹,然后初始化git git init // ...

git拉取远程分支

查看本地所有分支列表: git branch -a 查看远程所有分支列表: git branch -r 拉取远程分支(使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checko ...

随机推荐

部分安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法

前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0.下面是上传图片的核心代码: HTML &lt ...

win7下无法安装QTP-少了Microsoft Visual c&plus;&plus;2005 sp1运行时组件

问题是:当我点击QTP的setup.exe进行QTP安装时,出现提示[少了Microsoft Visual c++2005 sp1运行时组件,安装时会提示命令行选项语法错误,键入“命令/?”可获取帮肋 ...

JVM垃圾回收机制总结&lpar;7&rpar; :调优方法

JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用.对垃圾回收算法有很详细的跟踪.详细说明参考这里 ...

Class&period;forName&lpar;&rpar;的理解

转自:http://blog.csdn.net/yanwushu/article/details/7574713 使用jdbc方式连接数据库时会使用一句代码Class.forName(String c ...

怎样在官网上下载xcode7&period;2

其实我觉得还是有必要就这个写一篇论文的  以证明自己真的是个菜鸟 首先进入苹果开发者官网 https://developer.apple.com/ 选择 resource 然后 点击加号  然后下载就 ...

HDU 1033&lpar;坐标移动 模拟&rpar;

题意是说有一点从(300,410)的位置出发,向右移动到(310,410)后开始转向,A 表示向顺时针转,V 表示向逆时针转,每次转向后沿当前方向前进 10 个单位, 输出其坐标,再补充一点格式上的东 ...

SpringMVC控制器方法参数传入的ModelMap 和Model类型有啥区别

参考 http://blog.csdn.net/u013067598/article/details/69372309 http://blog.csdn.net/u013686993/article/ ...

enzyme design 整体流程及感想

想起什么来写什么吧. 整体流程(以Ceas2, TPP, G3P为例): 准备蛋白即配体参数文件: 设置CST文件: 准备protocol和flag文件: 运行enzyme_design: 结果处理. ...

Springboot打包war

pom: 1.war 2.org.springframewor ...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值