123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #!/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 "所有任务完成"
|