项目代码部署到Linux上并运行

来源:互联网 发布:linux设置环境变量命令 编辑:程序博客网 时间:2024/05/16 15:16

举例:java项目为cap-cbs-mgr,准备部署到开发环境的linux机器上。

1.本地项目的根目录下需要放入三个文件:package-upload.bat,PLINK.EXE,PSCP.EXE。

package-upload.bat的shell脚本内容如下:(本文中涉及账号密码就不方便显示了)

echo offset "PROJECT_NAME=xxx"set "HOST=xx.xx.xx.xx"set "USER=xxx"set "PWD=xxxx"set "TOMCAT_HOME=/apps/svr/tomcat-cbs-mgr"set "SCRIPT=/home/apps/tomcat-cbs-mgr"set "ZOOKEEPER=xx.xx.xx.xx.xx:xxxx,xx.xx.xx.xx.xx:xxxx,..."REM ---------------------------------------------REM * packageREM ---------------------------------------------call gradlew --refresh-dependencies clean warREM ---------------------------------------------REM * Stop remote tomcat and delete all files and REM * folders in tomcat webapps directoryREM ---------------------------------------------plink -pw %PWD% %USER%@%HOST% "sh %SCRIPT% stop ; rm -rf %TOMCAT_HOME%/webapps/cap-cbs*"REM ---------------------------------------------REM * Copy war file to remote tomcat webapps directoryREM ---------------------------------------------pscp -pw %PWD% %PROJECT_NAME%-webapp\build\libs\*.war %USER%@%HOST%:%TOMCAT_HOME%/webappsREM ---------------------------------------------REM * Start remote tomcatREM * Show remote tomcat logs, press Ctrl + C to exitREM ---------------------------------------------plink -pw %PWD% %USER%@%HOST% "export VIP_CFGCENTER_ZK_CONNECTION=%ZOOKEEPER% ; source /etc/profile;  sh %SCRIPT% start ; sh %SCRIPT%"


PLINK.EXE和PSCP.EXE这两个打包和传输工具可以自行去网上下载。

Linux服务器上需要:安装tomcat【路径为/apps/svr/tomcat-cbs-mgr】,jdk【路径为/apps/svr/jdk7】,tomcat-cbs-mgr脚本【路径为/home/apps/tomcat-cbs-mgr】,环境变量的配置文件profile【路径为/etc/profile】。

tomcat-cbs-mgr的shell脚本内容如下:

#!/bin/bash## language environment settingexport LANG=zh_CN.UTF-8## Tomcat server base directoryTOMCAT_HOME=/apps/svr/tomcat-cbs-mgrENV=development## Catalina base directory, the directory is same with $TOMCAT_HOMECATALINA_HOME=$TOMCAT_HOME## Tomcat server logs directoryTOMCAT_LOGS_DIR=$TOMCAT_HOME/logs## Tomcat service process ID fileTOMCAT_PID_FILE=$TOMCAT_LOGS_DIR/server.pid## Identify application that view process infomation using 'ps', 'top', etc. commandsAPP_MAGIC_NUMBER=cap-cbs-mgr## comment the line on online environmentJAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=$ENV"## JVM parametersJAVA_OPTS="$JAVA_OPTS -Dapp.name=$APP_MAGIC_NUMBER"JAVA_OPTS="$JAVA_OPTS -Dwebapps.logs.dir=$TOMCAT_LOGS_DIR"JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx512m"if [ -z $JAVA_HOME ]; then  export JAVA_HOME=/apps/svr/jdk7fiif [ -z $VIP_CFGCENTER_ZK_CONNECTION ]; then  export VIP_CFGCENTER_ZK_CONNECTION=xx.xx.xx.xx.xx:xxxx,xx.xx.xx.xx.xx:xxxx,...fiecho "======================================="echo " JAVA_HOME   : $JAVA_HOME"echo " TOMCAT_HOME : $TOMCAT_HOME"echo " LOGS_DIR    : $TOMCAT_LOGS_DIR"echo " PID_FILE    : $TOMCAT_PID_FILE"echo " APP_MAGIC   : $APP_MAGIC_NUMBER"echo " ENV         : $ENV"echo "======================================="if [ "$1" == "" ]; then  tail -F $TOMCAT_LOGS_DIR/*.log $TOMCAT_LOGS_DIR/catalina.out  exit 0fiRUNNING_PID=$(ps -efww | grep $APP_MAGIC_NUMBER | grep -v grep | awk '{print $2}')if [ "$1" == "start" ]; then  if [ ! -z "$RUNNING_PID" ]; then    echo "tomcat started, PID = $RUNNING_PID"    exit 1  fi  rm -rf $TOMCAT_LOGS_DIR/* $TOMAT_HOME/work/*  source $TOMCAT_HOME/bin/catalina.sh start "$@" &  sleep 0.1s    PID=$(ps -efww | grep $APP_MAGIC_NUMBER | grep -v grep | awk '{print $2}')  echo $PID > $TOMCAT_LOGS_DIR/server.pid  echo "tomcat startup, PID = $PID, using $0 command tail start logging"  exit 0fiif [ "$1" == "stop" ]; then  if [ -z "$RUNNING_PID" ]; then    echo "tomcat no start"    if [ -f "$TOMCAT_PID_FILE" ]; then      rm "$TOMCAT_PID_FILE"    fi    exit 2  fi  # source $TOMCAT_HOME/bin/catalina.sh stop "$@" &  kill -9 $RUNNING_PID  echo "tomcat stopping..., using $0 command tail stop log"  rm "$TOMCAT_PID_FILE"  exit 0fi


当然了,有需要的朋友不能全盘照搬,需要根据自己项目和服务器的实际情况加以改动即可使用~~~微笑