发表于: 2025-05-15 20:57:48

0 2


今天完成的任务:编写部署脚本,实现以下功能:把gitee上的项目下载,并打包成war包,下载至tomcat的wabapps文件夹内。

shell脚本如下:

#!/bin/bash

# 部署脚本配置

GITEE_REPO_URL="https://gitee.com/peng-yi-min/TestOne.git"  # 替换为你的Gitee项目地址

PROJECT_NAME="spring-mybatis"                                       # 项目名称

BRANCH="master"                                                 # 要部署的分支

TARGET_DIR="/tmp/build_${PROJECT_NAME}"                         # 临时构建目录

WAR_NAME="ROOT.war"                                             # 生成的WAR文件名

TOMCAT_WEBAPPS="/usr/local/tomcat/webapps"                            # Tomcat的webapps目录,根据实际情况修改

MAVEN_OPTS="-DskipTests"                                        # Maven构建选项

# 检查必要工具是否安装

check_requirements() {

    if ! command -v git &> /dev/null; then

        echo "错误: Git未安装,请先安装Git"

        exit 1

    fi

    

    if ! command -v mvn &> /dev/null; then

        echo "错误: Maven未安装,请先安装Maven"

        exit 1

    fi

}

# 清理旧构建

cleanup() {

    echo "清理旧构建..."

    if [ -d "$TARGET_DIR" ]; then

        rm -rf "$TARGET_DIR"

    fi

}

# 克隆代码库

clone_repository() {

    echo "正在从Gitee克隆项目..."

    git clone --depth 1 --branch "$BRANCH" "$GITEE_REPO_URL" "$TARGET_DIR"

    if [ $? -ne 0 ]; then

        echo "错误: 克隆仓库失败"

        exit 1

    fi

}

# 构建项目

build_project() {

    echo "正在构建WAR包..."

    cd "$TARGET_DIR" || exit 1

    mvn clean package $MAVEN_OPTS

    if [ $? -ne 0 ]; then

        echo "错误: Maven构建失败"

        exit 1

    fi

}

# 部署到Tomcat

deploy_to_tomcat() {

    echo "正在部署到Tomcat..."

    

    # 查找生成的WAR文件

    WAR_FILE=$(find "$TARGET_DIR" -name "*.war" | head -n 1)

    

    if [ -z "$WAR_FILE" ]; then

        echo "错误: 未找到生成的WAR文件"

        exit 1

    fi

    

    # 停止Tomcat (可选,根据你的需求取消注释)

    # systemctl stop tomcat

    

    # 备份旧部署 (可选)

    if [ -f "${TOMCAT_WEBAPPS}/${WAR_NAME}" ]; then

        echo "备份旧WAR文件..."

        mv "${TOMCAT_WEBAPPS}/${WAR_NAME}" "${TOMCAT_WEBAPPS}/${WAR_NAME}.bak.$(date +%Y%m%d%H%M%S)"

    fi

    

    # 复制新WAR文件

    cp "$WAR_FILE" "${TOMCAT_WEBAPPS}/${WAR_NAME}"

    

    # 修改权限 (根据你的服务器配置可能需要)

    chown tomcat:tomcat "${TOMCAT_WEBAPPS}/${WAR_NAME}"

    

    # 启动Tomcat (可选,根据你的需求取消注释)

    # systemctl start tomcat

    

    echo "部署完成!"

}

# 主执行流程

main() {

    check_requirements

    cleanup

    clone_repository

    build_project

    deploy_to_tomcat

}

# 执行主函数

main

部署成功。

遇到的问题:在本地浏览器中输入服务器ip:8080可以显示数据,但请求接口显示404.

明天的计划:解决404问题。



返回列表 返回列表
评论

    分享到