Files
ruoyi-vue-pro/push_image-bak.sh

56 lines
1.4 KiB
Bash
Raw Normal View History

2026-01-05 20:14:33 +08:00
#!/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}"