java web 项目发布脚本Tomcat 版

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

#!/bin/bash

PROJECT_NAME=project-name
DOMAIN=www.domain.com
HOME_ROOT="/home/htdocs/"
SOURCE_DIR=$HOME_ROOT"source"
PROJECT_DIR=$SOURCE_DIR"/"$PROJECT_NAME
WEB_ROOT=$HOME_ROOT""$DOMAIN"/"
TOMCAT_HOME="/usr/local/Tomcat-"$DOMAIN"/"
UPDATE_FILE_LOG=$HOME_ROOT"release/logs/"$PROJECT_NAME".log"

update_code(){
        if [ -d $PROJECT_DIR ]
        then
            cd $SOURCE_DIR
            git clone project_git_url
        else
            cd $PROJECT_DIR
            rm -f $UPDATE_FILE_LOG
            git pull >> $UPDATE_FILE_LOG
        fi
}

install(){
        cd $PROJECT_DIR
        /usr/local/apache-maven/bin/mvn clean 2>> $UPDATE_FILE_LOG
        /usr/local/apache-maven/bin/mvn -P release install 2>> $UPDATE_FILE_LOG
}

backup(){
        TIME=`date +"%Y-%m-%d-%H"`
        BACKUP_FILE=$HOME_ROOT"backup/"$PROJECT_NAME"_"$TIME".tar.gz"
        cd $HOME_ROOT
        tar -zcf $BACKUP_FILE $DOMAIN
}

deploy(){
        TEMP=$WEB_ROOT"*"
        rm -fR $TEMP
        TEMP=$TOMCAT_HOME"work/Catalina/"$DOMAIN
        sudo rm -fR $TEMP
        TEMP=$SOURCE_DIR"/"$PROJECT_NAME"/target/"$PROJECT_NAME"/*"
        sudo cp -fR $TEMP $WEB_ROOT
}

restart(){
        bash $TOMCAT_HOME"bin/catalina.sh" stop -force
        sleep 5
        bash $TOMCAT_HOME"bin/catalina.sh" start
}

help(){
        echo $"Usage: $0 {update_code|install|backup|deploy|restart}"
}

case "$1" in
update_code)
        update_code
;;
install)
        install
;;
backup)
        backup
;;
deploy)
        deploy
;;
restart)
        restart
;;
-h)
        help
;;
--help)
        help
;;
*)
        update_code
        install
        backup
        deploy
        restart
;;

esac

exit 0

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

相关文章

系ubuntu 下面打开终端输入:sudo apt-get install sendmail...
依家我有1个软件goagent目录(大家懂得) 放在/home/gateman/...
其实我想讲的是 cp -L关于-L参数的解释:-L, --dereferenc...
原地址:http://www.rjgc.net/control/content/content.php?...
chroot,即 change root directory (更改 root 目录)。在 li...
简单解析下, stdin就是标准输入, stdout就是标准。举个例子...