#!/bin/bash :: 设置变量 IMAGE_NAME="yudao-server" REGISTRY="crpi-y5od2i6cxawm9v5y.cn-hangzhou.personal.cr.aliyuncs.com" NAMESPACE="masterke" USERNAME="masterke2003" PASSWORD="Q2yXYthl9X7Ugm" # 获取时间戳作为版本号 version=$(date +%Y%m%d%H%M%S) # 完整镜像名 FULL_IMAGE_NAME="${REGISTRY}/${NAMESPACE}/${IMAGE_NAME}:${version}" LATEST_IMAGE="${REGISTRY}/${NAMESPACE}/${IMAGE_NAME}:latest" echo "检查 JAR 文件:" if [ -f "./yudao-server/target/${IMAGE_NAME}.jar" ]; then echo " JAR 文件存在: $(realpath ./yudao-server/target/${IMAGE_NAME}.jar)" else echo " 错误:JAR 文件不存在" echo " 目录内容:" ls -la ./yudao-server/target 2>/dev/null || echo " 无法列出目录内容" exit 1 fi echo "正在登录到阿里云容器镜像仓库..." echo "$PASSWORD" | docker login --username="$USERNAME" --password-stdin "$REGISTRY" if [ $? -ne 0 ]; then echo "登录失败,请检查用户名或密码" exit 1 fi echo "正在构建镜像..." docker build -t "$FULL_IMAGE_NAME" . if [ $? -ne 0 ]; then echo "构建失败" exit 1 fi # 标记镜像为最新版本 docker tag "$FULL_IMAGE_NAME" "$LATEST_IMAGE" echo "正在推送镜像到远程仓库..." docker push "$LATEST_IMAGE" docker push "$FULL_IMAGE_NAME" if [ $? -ne 0 ]; then echo "推送失败" exit 1 fi echo "镜像推送成功: ${FULL_IMAGE_NAME}" echo "最新版本: ${LATEST_IMAGE}"