Browse Source

build(bd-location): 添加部署脚本和版本文件

- 新增 deploy.sh 脚本,实现 bd-app-backend 项目的编译、Docker 镜像构建和推送功能
- 创建 version 文件,记录当前版本号为 1.8
- 脚本支持版本号管理和多步骤选择执行
chen.cheng 9 months ago
parent
commit
1fed4fe0f9
2 changed files with 109 additions and 0 deletions
  1. 108 0
      bd-location/deploy.sh
  2. 1 0
      bd-location/version

+ 108 - 0
bd-location/deploy.sh

@@ -0,0 +1,108 @@
+#!/bin/bash
+
+# 设置变量
+PROJECT_NAME="bd-app-backend"
+DOCKER_IMAGE_NAME="bd-app-backend"
+REMOTE_REGISTRY="docker.xt.wenhq.top:8083/bd"
+VERSION_FILE="version"
+echo "!!!!bd-app-backend docker 发布脚本"
+# 读取当前版本号
+CURRENT_VERSION=$(cat $VERSION_FILE)
+if [ -z "$CURRENT_VERSION" ]; then
+  CURRENT_VERSION="0.0"
+fi
+
+# 分离大版本号和小版本号
+CURRENT_MAJOR=$(echo $CURRENT_VERSION | cut -d'.' -f1)
+CURRENT_MINOR=$(echo $CURRENT_VERSION | cut -d'.' -f2)
+
+# 用户选择是否修改大版本号
+read -p "是否修改大版本号?(y/n): " modify_major_version
+
+if [ "$modify_major_version" == "y" ]; then
+  read -p "请输入新的大版本号: " new_major_version
+  CURRENT_MAJOR=$new_major_version
+  CURRENT_MINOR=0  # 重置小版本号
+else
+  CURRENT_MINOR=$((CURRENT_MINOR + 1))  # 增加小版本号
+fi
+
+# 更新版本号
+NEXT_VERSION="${CURRENT_MAJOR}.${CURRENT_MINOR}"
+echo $NEXT_VERSION > $VERSION_FILE
+
+# 用户选择执行的步骤
+echo "请选择要执行的步骤(输入数字):"
+echo "1. 编译bd-app-backend项目"
+echo "2. 构建Docker镜像"
+echo "3. 推送Docker镜像到远程仓库"
+echo "4. 执行所有步骤"
+read -p "请输入选项(1/2/3/4): " choice
+
+# 根据用户选择执行相应的步骤
+case $choice in
+  1)
+    # 1. 编译Vue项目
+    echo "开始编译bd-app-backend项目..."
+    mvn clean install
+    if [ $? -ne 0 ]; then
+      echo "bd-app-backend项目编译失败。退出脚本。"
+      exit 1
+    fi
+    echo "bd-app-backend项目编译完成"
+    ;;
+  2)
+    # 2. 构建Docker镜像
+    echo "开始构建Docker镜像..."
+    docker build -t ${REMOTE_REGISTRY}/${DOCKER_IMAGE_NAME}:v${NEXT_VERSION} .
+    if [ $? -ne 0 ]; then
+      echo "Docker镜像构建失败。退出脚本。"
+      exit 1
+    fi
+    echo "Docker镜像构建完成"
+    ;;
+  3)
+    # 3. 推送Docker镜像到远程仓库
+    echo "开始推送Docker镜像到远程仓库..."
+    docker push ${REMOTE_REGISTRY}/${DOCKER_IMAGE_NAME}:v${NEXT_VERSION}
+    if [ $? -ne 0 ]; then
+      echo "Docker镜像推送失败。退出脚本。"
+      exit 1
+    fi
+    echo "Docker镜像推送完成"
+    ;;
+  4)
+    # 1. 编译Vue项目
+    echo "开始编译bd-app-backend项目..."
+    mvn clean install
+    if [ $? -ne 0 ]; then
+      echo "bd-app-backend项目编译失败。退出脚本。"
+      exit 1
+    fi
+    echo "bd-app-backend项目编译完成"
+
+    # 2. 构建Docker镜像
+    echo "开始构建Docker镜像..."
+    docker build -t ${REMOTE_REGISTRY}/${DOCKER_IMAGE_NAME}:v${NEXT_VERSION} .
+    if [ $? -ne 0 ]; then
+      echo "Docker镜像构建失败。退出脚本。"
+      exit 1
+    fi
+    echo "Docker镜像构建完成"
+
+    # 3. 推送Docker镜像到远程仓库
+    echo "开始推送Docker镜像到远程仓库..."
+    docker push ${REMOTE_REGISTRY}/${DOCKER_IMAGE_NAME}:v${NEXT_VERSION}
+    if [ $? -ne 0 ]; then
+      echo "Docker镜像推送失败。退出脚本。"
+      exit 1
+    fi
+    echo "Docker镜像推送完成"
+    ;;
+  *)
+    echo "无效的选项。退出脚本。"
+    exit 1
+    ;;
+esac
+
+echo "所有任务完成"

+ 1 - 0
bd-location/version

@@ -0,0 +1 @@
+1.8