大致思路:
从git上clone源代码到本地;
使用mvn package将源代码达成war/jar包;
将打好的包放到tomcatpath/webapps/下;
到tomcatpath/bin/下执行restart.sh脚本重启;

脚本:

#!/bin/bash
{
flock -n
[ $? -eq ] && { echo -e "\033[41;1m wait for deploying... \033[0m"; exit; }
echo "start to deploy..." SERVER_PATH=/data/server/merchant-server-
WEBINF_PATH=$SERVER_PATH/webapps/merchant/WEB-INF
SOURCE_PATH=/data/git/o2o-merchant-web
TARGET_PATH=$SOURCE_PATH/target
CLASSES_PATH=$TARGET_PATH/merchant/WEB-INF/classes
LIB_PATH=$TARGET_PATH/merchant/WEB-INF/lib WAR_PATH=$TARGET_PATH/merchant.war
TOMCAT_WAR_PATH=$SERVER_PATH/webapps rm -rf $SOURCE_PATH
mkdir $SOURCE_PATH
git clone -b dev_vettingCredit git@git.wecash.net:o2o/o2o-merchant-web.git $SOURCE_PATH cd $SOURCE_PATH && mvn clean && mvn package -Ptest -Dmaven.test.skip=true if [ ! -x "$TARGET_PATH/merchant" ]; then
echo -e "\033[41;1m mvn install failure, please check. \033[0m"
exit;
fi
cd $SERVER_PATH && ./bin/shutdown.sh
mv $TOMCAT_WAR_PATH/merchant.war $TOMCAT_WAR_PATH/merchant.war_back
rm -rf $TOMCAT_WAR_PATH/merchant
cp $WAR_PATH $TOMCAT_WAR_PATH/merchant.war cd $SERVER_PATH && ./bin/restart.sh
flock -u
} <>~/.deploy_merchant_lock

脚本:将git项目下载到本地并启动的更多相关文章

  1. Git项目下载部分文件或文件夹

    我们常常要在Github下载一些源码.示例等,但有时候项目库会比较大,而我关心的只是其中很少的一部分内容,由于众所周知的原因,我们下载git库是比较慢的,过大的项目经常会下载失败,所以只下载部分内容就 ...

  2. 怎么将GitHub上的项目下载到本地,并运行

    第一步:首页的有项目的地址才能下载 第二步:使用git 下载  命令:git clone 项目地址 第三步:npm install  下载依赖 第四步:npm run dev 运行项目

  3. 初学shell,今天遇到由wget下载到本地的网页源代码的乱码问题,无聊的写了一个转码的脚本

    今天用wget想下载文件,结果下载了一堆本地的index.html文件,一查看全是乱码,然后百度了一下,网页的编码格式大概有三种: 1.utf-8 2.gb2312 3.gbk 要在网页源码中的< ...

  4. katalon studio配置git与git项目创建

    katalon 是一款在2015年诞生的可以安装在windows.macOS.linux操作系统上,基于selenium 和 Appium 测试框架,并集成了这些框架的优点的自动化测试工具.关于这个工 ...

  5. git 项目最常用命令总结

    本文为博主原创,未经允许不得转载: 1.查看git基础配置信息 1.查看用户名和邮箱地址 git config user.name   git config user.email 2.修改用户名和邮箱 ...

  6. 使用putty与SSHSecureShellClient登录远程服务器完成与本地Git项目的同步

    使用软件远程登录管理服务器 今天给大家介绍两款远程登录管理服务器的软件(Putty和SSHSecureShellClient),这两款也是我在工作中经常的软件. 使用 PuTTY 远程登录管理服务器 ...

  7. 使用Eclipse上传/下载Git项目

    使用Eclipse上传/下载Git项目 前提: Eclipse已安装EGit插件 已拥有GitLab / GitHub / 其它Git托管服务账号 SSH方式 配置 配置Git信息 配置用户信息 Ec ...

  8. github git 在GitHub上创建项目并将本地项目push到网站上

    众所周知,git是与svn类似的版本控制系统,git的去中心化.分布式等的优点,在不久将来用户量大有可能超过svn, 常见的代码托管网站有GitHub,coding.net, gitee.com 码云 ...

  9. eclipse中怎么导入git库下载下来的web项目

    总的看来是有两种方式: 方式一:可以对已经从版本库下载到本地的项目操作(Maven导入) 你可以通过公司提供的内部的版本库的网址登录版本库,之后在里面下载自己想要的那个版本的代码包,见下图 点击右侧的 ...

随机推荐

  1. 关于工作单元模式——工作单元模式与EF结合的使用

    工作单元模式往往和仓储模式一起使用,本篇文章讲到的是工作单元模式和仓储模式一起用来在ef外面包一层,其实EF本身就是工作单元模式和仓储模式使用的经典例子,其中DbContext就是工作单元,而每个Db ...

  2. 一些常见css样式加选择器

    先来个下拉框: 例: select是下拉框标签 multiple:指多选项 size :显示的选项数量 selected="selected":默认选中 —————————分割线— ...

  3. docker 无法使用vi

    更新来源 apt-get update   安装vim apt-get install -y vim

  4. 选择webpack这条路,我踩过的坑

    在http://www.jianshu.com/p/42e11515c10f这篇文章,我重新学习了一下webpack. 一.json文件里面不应该含有注释,否则会报错 本来我的json文件长这个样子: ...

  5. C++ STL 之 函数对象

    重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载“()”操作符,使得类对象可以像函数那样调用.注意 ...

  6. Jboss未授权访问部署木马 利用exp

    查看系统名称 java -jar jboss_exploit_fat.jar -i http://www.any.com:8080/invoker/JMXInvokerServlet get jbos ...

  7. Spring MVC 全局异常处理&文件上传

    Spring MVC 全局异常处理 使用SimpleMappingExceptionResolver实现异常处理 在welcome-servlet.xml进行如下配置: <bean class= ...

  8. 三台服务器的时间同步-Linux

    192.168.1.30    做服务器时间 192.168.1.40   同步30 192.168.1.50  同步30 step1.在30机器上修改ntp.conf 添加: restrict  1 ...

  9. 【Git】五、远程仓库

    前面4节将的都是本地的git操作,这节开始讲合并到本地分支后,如何与远程仓库做交互 -------------------------------- 提要 //生成本地ssh密钥 $ ssh-keyg ...

  10. mysql主备搭建

    mysql主备搭建参考文档https://www.cnblogs.com/clsn/p/8150036.html前提条件:系统:Ubuntu 16.04.6 LTSMySQL版本:5.7.24主库IP ...