- 添加 XMind OpenAI 兼容模型(11个模型) - 添加 XMind Anthropic 兼容模型(5个模型) - 添加 XMind Vertex AI 兼容模型(3个模型,使用 OpenAI 格式) - 更新 deploy.sh 支持 XMind API 密钥环境变量 - 添加 build-and-push.sh 脚本用于构建和推送 Docker 镜像 - 更新 README.md 文档说明
65 lines
1.8 KiB
Bash
Executable File
65 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# 快速构建并推送镜像到 Azure Container Registry
|
|
# 使用方法: ./build-and-push.sh [tag]
|
|
|
|
set -e
|
|
|
|
# 加载环境变量
|
|
if [ -f .env ]; then
|
|
export $(cat .env | grep -v '^#' | xargs)
|
|
fi
|
|
|
|
# 配置
|
|
ACR_SERVER="${ACR_SERVER:-agnettaiji.azurecr.io}"
|
|
ACR_USERNAME="${ACR_USERNAME:-agnettaiji}"
|
|
IMAGE_NAME="${IMAGE_NAME:-litellm}"
|
|
|
|
# 如果没有提供标签,使用时间戳格式: vYYYYMMDDHHMMSS
|
|
if [ -z "$1" ]; then
|
|
IMAGE_TAG="v$(date +%Y%m%d%H%M%S)"
|
|
else
|
|
IMAGE_TAG="$1"
|
|
fi
|
|
|
|
FULL_IMAGE_NAME="${ACR_SERVER}/${IMAGE_NAME}:${IMAGE_TAG}"
|
|
|
|
echo "=========================================="
|
|
echo "构建并推送 Docker 镜像到 ACR"
|
|
echo "=========================================="
|
|
echo "镜像名称: ${FULL_IMAGE_NAME}"
|
|
echo ""
|
|
|
|
# 检查 ACR 密码
|
|
if [ -z "$ACR_PASSWORD" ]; then
|
|
echo "错误: 未设置 ACR_PASSWORD 环境变量"
|
|
echo "请设置 ACR_PASSWORD 或创建 .env 文件"
|
|
exit 1
|
|
fi
|
|
|
|
# 构建镜像(同时打 latest 标签,方便快速引用)
|
|
echo "步骤 1/2: 构建 Docker 镜像..."
|
|
docker build -t "${FULL_IMAGE_NAME}" -t "${ACR_SERVER}/${IMAGE_NAME}:latest" .
|
|
|
|
# 登录 ACR
|
|
echo ""
|
|
echo "步骤 2/2: 推送镜像到 ACR..."
|
|
echo "${ACR_PASSWORD}" | docker login "${ACR_SERVER}" -u "${ACR_USERNAME}" --password-stdin
|
|
|
|
# 推送镜像(推送带版本号的标签和 latest 标签)
|
|
docker push "${FULL_IMAGE_NAME}"
|
|
docker push "${ACR_SERVER}/${IMAGE_NAME}:latest"
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo "完成!镜像已推送到: ${FULL_IMAGE_NAME}"
|
|
echo "同时更新了 latest 标签: ${ACR_SERVER}/${IMAGE_NAME}:latest"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "镜像标签: ${IMAGE_TAG}"
|
|
echo ""
|
|
echo "下一步: 运行以下命令部署应用:"
|
|
echo " ./deploy.sh update"
|
|
echo ""
|
|
echo "或者运行完整部署:"
|
|
echo " ./deploy.sh deploy"
|