Maven打包部署脚本
#!/bin/sh
SVN_USER_NAME=
SVN_PASSWORD=
ROOT_PATH
PROJECT_NAME
ACTION
SVN_LIB_ROOT
USER_ACCOUNT
PASSWORD
HOST
PORT
COMMAND
netty_common='netty-common'
netty_common_server='netty-common-server'
netty_common_client='netty-common-client'
netty_chat_common='netty-chat-common'
tip () {
echo "usage: deploy_base.sh ROOT_PATH PROJECT_NAME ACTION SVN_LIB_ROOT USER_ACCOUNT PASSWORD HOST COMMAND"
}
#update_src () {
#if [ -d $1 ]; then
#cd $
#svn update
#else
#svn co svn: --username $2 --password $3 $1
#cd $
#fi
#}
mvn_pkg(){
mvn package
}
mvn_install(){
mvn install
}
update_lib () {
path-lib"
if [ -d $path ]; then
cd $path
svn update
else
svn co $/lib --username $2 --password $3 $path
cd $path
fi
}
cp_lib () {
cp target/lib/*.jar "$1-lib"
cp target/*.jar "$1-lib"
}
commit_lib () {
cd "$1-lib"
svn add *.jar
svn commit -m "package & deploy $1"
}
restart(){
auto_login_ssh $1 $2@$3 $4 $COMMAND
}
auto_login_ssh () {
expect -c "set timeout -1;
spawn -noecho ssh -p $3 -o StrictHostKeyChecking=no $2 ${@:4};
expect *assword:*;
send -- $1\r;
interact;";
}
if [ $# -lt 8 ];then
tip
exit 0;
fi
case "$ACTION" in
restart)
restart $PASSWORD $USER_ACCOUNT $HOST $PORT
;;
deploy | deploy_delete)
cd $ROOT_PATH
if [ -d "../$netty_common/" ];then
cd ../$netty_common/
mvn_install
fi
if [ -d "../$netty_common_server/" ];then
cd ../$netty_common_server/
mvn_install
fi
if [ -d "../$netty_common_client/" ];then
cd ../$netty_common_client/
mvn_install
fi
if [ -d "../$netty_chat_common/" ];then
cd ../$netty_chat_common/
mvn_install
fi
if [ -d "../$netty_common/" ];then
cd ../$PROJECT_NAME/
fi
mvn_pkg
update_lib $PROJECT_NAME $SVN_USER_NAME $SVN_PASSWORD $SVN_LIB_ROOT
cd ../
cp_lib $PROJECT_NAME
commit_lib $PROJECT_NAME
cd ../
restart $PASSWORD $USER_ACCOUNT $HOST $PORT
;;
*)
tip
esac
exit 1
Maven打包部署脚本的更多相关文章
- 查找目录下指定类型的所有文件(maven 打包提取脚本)
1 首先想到的是递归遍历目录 筛选出符合条件的文件 dir命令递归遍历目录 /b控制显示格式 /s递归 /ad 只显示目录 dir /b/s .\* 判断文件类型 操作数得用`` rem 取出文件扩 ...
- Idea开发环境中搭建Maven并且使用Maven打包部署程序
1.配置Maven的环境变量 a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示: b.配置M2_HOME的环境变量,然后将该变量添加到Path中 备注:必须要有JAVA_HOM ...
- maven打包部署到私服
转载地址:http://blog.csdn.net/stormragewang/article/details/43407471 心得 apache的开源maven插件对我们使用maven进行打包,发 ...
- Maven打包部署
Maven打Jar包 问题一 Eclipse突然SB告诉我类不存在还让我导包进来O__O "…,但是我明明有这个类.这是不要慌,通过在网上搜索得知:由于eclipse的编译是基于时间戳的判断 ...
- (IDEA) 搭建Maven并使用Maven打包部署
1.配置Maven的环境变量 a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示: b.配置M2_HOME的环境变量,然后将该变量添加到Path中 备注:必须要有JAVA_HOM ...
- linux系统自动备份打包部署脚本
1.使用jenkins配置任务 2.执行脚本放在/home/guard/目录下 #!/bin/sh #author wangxiangyu #当前时间 DATE=$(date +%Y%m%d) #环境 ...
- 使用IntelliJ IDEA和Maven构建Java web项目并打包部署
爱编程爱分享,原创文章,转载请注明出处,谢谢! http://www.cnblogs.com/fozero/p/6120375.html 一.背景 现在越来越多的人使用IntelliJ IDEA工具进 ...
- Linux 一键部署脚本
在当前路径下输入 chmod 777 脚本名 给脚本授权, 然后就可以执行脚本 ./脚本名 777 是最高权限,有读.写.执行权限:和属组用户和其他用户的读.写.执行权限. 其他权限分别是 -r ...
- 从零入门 Serverless | 教你使用 IDE/Maven 快速部署 Serverless 应用
作者 | 许成铭(竞霄) 阿里云开发工程师 SAE 应用部署方式 1. SAE 概述 首先,简单介绍一下 SAE.SAE 是一款面向应用的 Serverless PaaS 平台,支持 Spring C ...
随机推荐
- meclipse中project facet问题
meclipse中project facet问题 (2012-02-14 14:59:48) 转载▼ 标签: 杂谈 分类: 技术 一般出现在从别处import的项目上,只有项目文件夹上有红叉,其他地方 ...
- WCF报 当前已禁用此服务的元数据发布的错误
这是 Windows© Communication Foundation 服务. 当前已禁用此服务的元数据发布. 如果具有该服务的访问权限,则可以通过完成下列步骤来修改 Web 或应用程序配置文件以便 ...
- linux 的终端字体色和背景色的修改方法(二)
Linux终端下的颜色设置 2013-08-31 22:57:15 分类: LINUX 在 ANSI 兼容终端(例如 xterm.rxvt.konsole 等)里, 可以用彩色显示文本而不仅仅是 ...
- C++中构造函数详解及显式调用构造函数
C++构造函数详解及显式调用构造函数 c++类的构造函数详解 一. 构造函 ...
- 百科编辑器ueditor应用笔记
最近项目上要用到文本编辑器,选了百科开源的ueditor,使用过程中虽然有些问题,但是一个个都解决了,记录如下: 开发的项目环境是vs2012:.net4.0: 1:百度js编辑器,编辑器加载到项目中 ...
- Entity Framework 简单增删改操作
前言 在 Entity Framework 简单查询操作 中主要是学习了在Entity Framework中的几种不同模式的查询操作,现在主要来学习一下简单的增加.删除.修改操作. 增加 在EF中添加 ...
- Bootstrap幻灯轮播如何支持触屏左右滑动手势?
最近ytkah在学习用bootstrap搭建网站,Bootstrap能自适应pc端和手机端,并且移动设备优先,适合现如今移动营销.bootstrap是封装好的框架,需要某些功能只需调用相应的组件就可以 ...
- 最近打算体验一下discuz,有不错的结构化数据插件
提交sitemap是每位站长必做的事情,但是提交到哪里,能不能提交又是另外一回事.国内的话百度是大伙都会盯的蛋糕,BD站长工具也会去注册的,可有些账号sitemap模块一直不能用,或许是等级不够,就像 ...
- Python webpy微信公众号开发之 回复图文消息
新建图文回复模板reply_pictext.xml: $def with (toUser,fromUser,createTime,title1,description1,picurl1,url1)&l ...
- php面试题之四——PHP面向对象(基础部分)
四.PHP面向对象 1. 写出 php 的 public.protected.private 三种访问控制模式的区别(新浪网技术部) public:公有,任何地方都可以访问 protected:继承, ...