美文网首页
项目部署相关脚本

项目部署相关脚本

作者: david161 | 来源:发表于2023-08-09 18:14 被阅读0次

    自动发布Java项目(Tomcat)

    #!/bin/bash
    DATE=$(date +%F_%T)
     
    TOMCAT_NAME=$1
    TOMCAT_DIR=/usr/local/$TOMCAT_NAME
    ROOT=$TOMCAT_DIR/webapps/ROOT
     
    BACKUP_DIR=/data/backup
    WORK_DIR=/tmp
    PROJECT_NAME=tomcat-java-demo
     
    # 拉取代码
    cd $WORK_DIR
    if [ ! -d $PROJECT_NAME ]; then
       git clone https://github.com/lizhenliang/tomcat-java-demo
       cd $PROJECT_NAME
    else
       cd $PROJECT_NAME
       git pull
    fi
     
    # 构建
    mvn clean package -Dmaven.test.skip=true
    if [ $? -ne 0 ]; then
       echo "maven build failure!"
       exit 1
    fi
     
    # 部署
    TOMCAT_PID=$(ps -ef |grep "$TOMCAT_NAME" |egrep -v "grep|$$" |awk 'NR==1{print $2}')
    [ -n "$TOMCAT_PID" ] && kill -9 $TOMCAT_PID
    [ -d $ROOT ] && mv $ROOT $BACKUP_DIR/${TOMCAT_NAME}_ROOT$DATE
    unzip $WORK_DIR/$PROJECT_NAME/target/*.war -d $ROOT
    $TOMCAT_DIR/bin/startup.sh
    

    自动发布PHP项目

    #!/bin/bash
     
    DATE=$(date +%F_%T)
     
    WWWROOT=/usr/local/nginx/html/$1
     
     
    BACKUP_DIR=/data/backup
    WORK_DIR=/tmp
    PROJECT_NAME=php-demo
     
     
    # 拉取代码
    cd $WORK_DIR
    if [ ! -d $PROJECT_NAME ]; then
       git clone https://github.com/lizhenliang/php-demo
       cd $PROJECT_NAME
    else
       cd $PROJECT_NAME
       git pull
    fi
     
     
    # 部署
    if [ ! -d $WWWROOT ]; then
       mkdir -p $WWWROOT
       rsync -avz --exclude=.git $WORK_DIR/$PROJECT_NAME/* $WWWROOT
    else
       rsync -avz --exclude=.git $WORK_DIR/$PROJECT_NAME/* $WWWROOT
    fi
    

    相关文章

      网友评论

          本文标题:项目部署相关脚本

          本文链接:https://www.haomeiwen.com/subject/mvtapdtx.html