自动化部署服务脚本shell脚本
2012-10-30 17:51
645 查看
转自:http://sunboy522.blog.163.com/blog/static/455443720124244426563/
#!/bin/bash
tree=$1
select=$2
if [ "$tree" == "" ]; then
echo "Must input tag(trunk),for example:ci.sh trunk"
exit 1
elif [ "$tree" != "trunk" ]; then
echo "tag is error,input trunk"
exit 1
fi
ROOT_PATH=/home/co_channel
if [ "$tree" == "trunk" ]; then
SRC_PATH=/home/co_channel/code/trunk
fi
SERVER_PATH=/home/co_channel/tomcat
SCRIPT_PATH=/home/co_channel/script
#Build Project
build(){
cd $PROJECT_PATH
mvn clean
svn up
mvn package -Dmaven.test.skip=true
}
#Install Project
install(){
cd $PROJECT_PATH
mvn clean
svn up
mvn -U install -Dmaven.test.skip=true
}
#Deploy Web Project and Restart Web Server
deploy(){
echo $SERVER_PATH
num=`ps aux|grep java|grep co_channel|grep -v grep|grep -v cronolog|awk '{print $2}'`
echo $num
if [[ $num -gt 0 ]]
then
kill -9 $num
sleep 5
echo "stop tomcat success"
fi
rm -f -R $DEPLOY_PATH
cp -f -R $BUILD_PATH $DEPLOY_PATH
$CATALINA_HOME/bin/startup.sh
echo "start tomcat success"
}
deployNoRestart(){
rm -f -R $DEPLOY_PATH
cp -f -R $BUILD_PATH $DEPLOY_PATH
}
restart(){
num=`ps aux|grep java|grep co_channel|grep -v grep|grep -v cronolog|awk '{print $2}'`
if [[ $num -gt 0 ]]
then
kill -9 $num
sleep 5
echo "stop tomcat success"
fi
$CATALINA_HOME/bin/startup.sh
echo "start tomcat success"
}
echo "Build and Deploy Project"
echo "---------------------------------"
echo " Choose One Project -"
echo "---------------------------------"
echo "0) restart -"
echo "1) channel_parent -"
echo "2) channel_core -"
echo "3) channel_rest -"
echo "4) channel_web -"
echo "5) channel_script -"
echo "6) channel_backweb -"
echo "---------------------------------"
if [ "$select" == "" ]; then
read select
fi
case $select in
0)
echo "Restart"
restart
;;
1)
echo "Parent Project"
PROJECT_NAME=channel_parent
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
echo $PROJECT_NAME
echo $PROJECT_PATH
install
;;
2)
echo "Core Project"
PROJECT_NAME=channel_core
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
echo $PROJECT_NAME
echo $PROJECT_PATH
install
;;
3)
echo "Rest Project"
PROJECT_NAME=channel_rest
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
BUILD_PATH="$PROJECT_PATH"/target/"$PROJECT_NAME"
DEPLOY_PATH="$SERVER_PATH"/webapps/"$PROJECT_NAME"
echo $PROJECT_NAME
echo $PROJECT_PATH
echo $BUILD_PATH
echo $DEPLOY_PATH
cp -f -R "$SRC_PATH"/channel_core/src/main/resources/* "$SRC_PATH"/$PROJECT_NAME/src/main/resources
build
deploy
;;
4)
echo "Web Project"
PROJECT_NAME=channel_web
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
BUILD_PATH="$PROJECT_PATH"/target/"$PROJECT_NAME"
DEPLOY_PATH="$SERVER_PATH"/webapps/"$PROJECT_NAME"
echo $PROJECT_NAME
echo $PROJECT_PATH
echo $BUILD_PATH
echo $DEPLOY_PATH
cp -f -R "$SRC_PATH"/channel_core/src/main/resources/* "$SRC_PATH"/$PROJECT_NAME/src/main/resources
build
deploy
;;
5)
echo "Script"
PROJECT_NAME=channel_script
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
BUILD_PATH="$PROJECT_PATH"/target/"$PROJECT_NAME"
DEPLOY_PATH="$SCRIPT_PATH"
echo $PROJECT_NAME
echo $PROJECT_PATH
echo $BUILD_PATH
echo $DEPLOY_PATH
build
deployNoRestart
chmod a+x $DEPLOY_PATH/**/*.sh
;;
6)
echo "Web Back Project"
PROJECT_NAME=channel_backweb
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
BUILD_PATH="$PROJECT_PATH"/target/"$PROJECT_NAME"
DEPLOY_PATH="$SERVER_PATH"/webapps/"$PROJECT_NAME"
echo $PROJECT_NAME
echo $PROJECT_PATH
echo $BUILD_PATH
echo $DEPLOY_PATH
cp -f -R "$SRC_PATH"/channel_core/src/main/resources/* "$SRC_PATH"/$PROJECT_NAME/src/main/resources
build
deploy
;;
esac
echo "Bye !!!"
exit 0
#!/bin/bash
tree=$1
select=$2
if [ "$tree" == "" ]; then
echo "Must input tag(trunk),for example:ci.sh trunk"
exit 1
elif [ "$tree" != "trunk" ]; then
echo "tag is error,input trunk"
exit 1
fi
ROOT_PATH=/home/co_channel
if [ "$tree" == "trunk" ]; then
SRC_PATH=/home/co_channel/code/trunk
fi
SERVER_PATH=/home/co_channel/tomcat
SCRIPT_PATH=/home/co_channel/script
#Build Project
build(){
cd $PROJECT_PATH
mvn clean
svn up
mvn package -Dmaven.test.skip=true
}
#Install Project
install(){
cd $PROJECT_PATH
mvn clean
svn up
mvn -U install -Dmaven.test.skip=true
}
#Deploy Web Project and Restart Web Server
deploy(){
echo $SERVER_PATH
num=`ps aux|grep java|grep co_channel|grep -v grep|grep -v cronolog|awk '{print $2}'`
echo $num
if [[ $num -gt 0 ]]
then
kill -9 $num
sleep 5
echo "stop tomcat success"
fi
rm -f -R $DEPLOY_PATH
cp -f -R $BUILD_PATH $DEPLOY_PATH
$CATALINA_HOME/bin/startup.sh
echo "start tomcat success"
}
deployNoRestart(){
rm -f -R $DEPLOY_PATH
cp -f -R $BUILD_PATH $DEPLOY_PATH
}
restart(){
num=`ps aux|grep java|grep co_channel|grep -v grep|grep -v cronolog|awk '{print $2}'`
if [[ $num -gt 0 ]]
then
kill -9 $num
sleep 5
echo "stop tomcat success"
fi
$CATALINA_HOME/bin/startup.sh
echo "start tomcat success"
}
echo "Build and Deploy Project"
echo "---------------------------------"
echo " Choose One Project -"
echo "---------------------------------"
echo "0) restart -"
echo "1) channel_parent -"
echo "2) channel_core -"
echo "3) channel_rest -"
echo "4) channel_web -"
echo "5) channel_script -"
echo "6) channel_backweb -"
echo "---------------------------------"
if [ "$select" == "" ]; then
read select
fi
case $select in
0)
echo "Restart"
restart
;;
1)
echo "Parent Project"
PROJECT_NAME=channel_parent
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
echo $PROJECT_NAME
echo $PROJECT_PATH
install
;;
2)
echo "Core Project"
PROJECT_NAME=channel_core
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
echo $PROJECT_NAME
echo $PROJECT_PATH
install
;;
3)
echo "Rest Project"
PROJECT_NAME=channel_rest
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
BUILD_PATH="$PROJECT_PATH"/target/"$PROJECT_NAME"
DEPLOY_PATH="$SERVER_PATH"/webapps/"$PROJECT_NAME"
echo $PROJECT_NAME
echo $PROJECT_PATH
echo $BUILD_PATH
echo $DEPLOY_PATH
cp -f -R "$SRC_PATH"/channel_core/src/main/resources/* "$SRC_PATH"/$PROJECT_NAME/src/main/resources
build
deploy
;;
4)
echo "Web Project"
PROJECT_NAME=channel_web
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
BUILD_PATH="$PROJECT_PATH"/target/"$PROJECT_NAME"
DEPLOY_PATH="$SERVER_PATH"/webapps/"$PROJECT_NAME"
echo $PROJECT_NAME
echo $PROJECT_PATH
echo $BUILD_PATH
echo $DEPLOY_PATH
cp -f -R "$SRC_PATH"/channel_core/src/main/resources/* "$SRC_PATH"/$PROJECT_NAME/src/main/resources
build
deploy
;;
5)
echo "Script"
PROJECT_NAME=channel_script
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
BUILD_PATH="$PROJECT_PATH"/target/"$PROJECT_NAME"
DEPLOY_PATH="$SCRIPT_PATH"
echo $PROJECT_NAME
echo $PROJECT_PATH
echo $BUILD_PATH
echo $DEPLOY_PATH
build
deployNoRestart
chmod a+x $DEPLOY_PATH/**/*.sh
;;
6)
echo "Web Back Project"
PROJECT_NAME=channel_backweb
PROJECT_PATH="$SRC_PATH"/$PROJECT_NAME
BUILD_PATH="$PROJECT_PATH"/target/"$PROJECT_NAME"
DEPLOY_PATH="$SERVER_PATH"/webapps/"$PROJECT_NAME"
echo $PROJECT_NAME
echo $PROJECT_PATH
echo $BUILD_PATH
echo $DEPLOY_PATH
cp -f -R "$SRC_PATH"/channel_core/src/main/resources/* "$SRC_PATH"/$PROJECT_NAME/src/main/resources
build
deploy
;;
esac
echo "Bye !!!"
exit 0
相关文章推荐
- 自动化部署脚本开启所有zookpeer等服务
- python将linux系统下的war包自动部署到winserver2008tomcat服务下的自动化脚本
- 用shell脚本自动化部署dhcp服务,加图文验证
- 自动化部署服务shell脚本的应用
- linux如何自动化部署脚本实现免密登录并访问资源
- 自动化部署脚本
- 自动化部署脚本
- 自动化部署--shell脚本--1
- shell脚本自动化部署XX的案例(附数组使用)
- 自动化部署脚本 安装 jdk
- 大型项目linux自动化版本发布脚本(shell)之tomcat、nginx服务脚本
- Hadoop自动化集群部署脚本
- jenkins自动化部署脚本
- 自动化部署脚本
- 自动化部署--shell脚本--2
- 使用自动化部署服务拓展Windows系统平台
- Hadoop2.7.1 集群部署及自动化脚本
- Hadoop2.7.1 集群部署及自动化脚本
- 【脚本语言系列】关于PythonWeb服务自动化webbrowser模块,你需要知道的事
- saltstack的探索-演示部署文件和脚本安装zabbix-agent服务