|
@@ -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 "所有任务完成"
|