Maven打包部署脚本

#!/bin/sh

SVN_USER_NAME=
SVN_PASSWORD=

ROOT_PATH=$1
PROJECT_NAME=$2
ACTION=$3
SVN_LIB_ROOT=$4

USER_ACCOUNT=$5
PASSWORD=$6
HOST=$7
PORT=$8
COMMAND=$9

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 $1
#svn update
#else
#svn co svn://svn.iweju.com/yueba/server/src/branches/trunk_taiwang/$1 --username $2 --password $3 $1
#cd $1
#fi
#}

mvn_pkg(){
mvn package
}

mvn_install(){
mvn install
}

update_lib () {
path="$1-lib"
if [ -d $path ]; then
cd $path
svn update
else
svn co $4/$1/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 [email protected]$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
时间: 2024-10-14 08:17:16

Maven打包部署脚本的相关文章

【原创】jenkins+maven自动部署脚本

jenkins+maven自动部署脚本 2019-02-01 09:34:38 前提,所有主机都做了免密登录操作,相信下面的版本大家应该可以看得明白,我是两台服务器,但只放开了一个服务器的配置,原理很简单: 1.配置一些经常变化的变量 2.进入svn下载下来的源代码空间目录,然后编译 3.远程备份文件(很重要) 4.进入编译后的文件夹target,将文件拷贝至远程生产主机 5.远程重启服务,搞定! #!/bin/bash source /etc/profile #基础环境变量 SERVER_23

Idea开发环境中搭建Maven并且使用Maven打包部署程序

1.配置Maven的环境变量 a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示: b.配置M2_HOME的环境变量,然后将该变量添加到Path中 备注:必须要有JAVA_HOME的M2_HOME环境变量,不然Maven会提示错误.配置环境变量如图所示: c.如果想要修改Maven的本地仓库位置,则可以直接在Maven的安装目录下找到conf文件下的setting配置文件中,设置localRepository为本地仓库位置 <localRepository>E:\java

IDEA 搭建Maven并使用Maven打包部署

1.配置Maven的环境变量 a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示: b.配置M2_HOME的环境变量,然后将该变量添加到Path中 备注:必须要有JAVA_HOME的M2_HOME环境变量,不然Maven会提示错误.配置 环境变量如图所示: c.如果想要修改Maven的本地仓库位置,则可以直接在Maven的安装目录下找到conf文件下的setting配置文件中,设置localRepository为本地仓库位置 <localRepository>E:\jav

Maven打包部署

Maven打Jar包 问题一 Eclipse突然SB告诉我类不存在还让我导包进来O__O "-,但是我明明有这个类.这是不要慌,通过在网上搜索得知:由于eclipse的编译是基于时间戳的判断机制的.因此当你按build all的时候有些eclipse认为时间戳没有改变的类不会被编译. 因此你可以先clean一下再编译.这个时候eclipse会将所有的以前编译信息清除然后编译. eclipse --->project ----->clean...选项将工程中的.class文件删除,同时

使用IntelliJ IDEA和Maven构建Java web项目并打包部署

爱编程爱分享,原创文章,转载请注明出处,谢谢! http://www.cnblogs.com/fozero/p/6120375.html 一.背景 现在越来越多的人使用IntelliJ IDEA工具进行Java的开发,以前也对IntelliJ IDEA有了解过,但是一直没有去使用. IntelliJ IDEA比Myeclipse好用多了 ,功能也非常的强大,google公司Android Studio就是基于IntelliJ IDEA开发的, 开发效率非常高,各种智能提示等等,具体的大家可以去了

jenkins+git+maven 增量部署思路以及相关脚本

之前通过jenkins+Git+maven这种方式打war包然后scp到测试环境使用,但是现在项目组要求打增量包,即只部署修改的文件和配置文件. 核心问题:如何获取到变动的文件??? 前置条件:初始化部署需要人工进行 操作步骤: 1.配置git从远程端check代码. 2.使用maven打包 3.把class目录和war包传到部署服务器(因为我们打包和执行deploy的服务器分开的,如果是一台不需要改操作) 4.最核心的一步,记录改变的文件的日志.使用的git自带的git diff --stat

Maven 结合 Spring profile对不同的部署环境打包部署

这是一个草鸡鸡冻人心的时刻,搞了2天终于搞定了,麻麻再也不用担心我部署出错了!!!!!!! 所有profile,spring和maven的,定义均要一致,否则,自己运行看看. 首先,先来讲下spring的profile功能,这个是方便项目的各种环境分离(开发.测试.生产),简单介绍下如何使用. 在beans中定义环境代码,项目中,我在beans.xml里定义 1 <beans profile="develop,test,product"></beans> 在数据

ubuntu+tomcat,多环境、自动化部署脚本,git+maven+tomcat+ubuntu

projectName=""; #默认tomcat目录名称,可根据自己需求改成自己的tomcat名称, tomcatName="tomcat7_8080"; #通过直接杀进程停止tomcat,防止热部署导致服务器内存不足,为了让客户端访问不中断,可以对自己的tomcat做负载 echo "停止$tomcatName" ps -ef|grep $tomcatName |grep -v grep|cut -c 9-15|xargs kill -9;

SpringBoot使用Maven插件打包部署

[问题] 之前一直用SpringBoot做一些小项目,想打包部署在环境上,总是少依赖包jar.百度下可以通过Spring Boot Maven plugin插件,把Maven配置的依赖包都打到项目包里. [POM配置] <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin&l