84 lines
2.1 KiB
Bash
Executable File
84 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 重新构建所有 Agent 镜像并推送到 ACR (ARM64)
|
|
|
|
set -e
|
|
|
|
ACR_NAME="agnettaiji.azurecr.io"
|
|
TAG="latest"
|
|
PLATFORM="linux/arm64"
|
|
|
|
GREEN='\033[0;32m'
|
|
BLUE='\033[0;34m'
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
|
|
echo -e "${BLUE}========================================${NC}"
|
|
echo -e "${BLUE} 重新构建所有 Agent 镜像${NC}"
|
|
echo -e "${BLUE}========================================${NC}"
|
|
echo ""
|
|
|
|
# 登录 ACR
|
|
echo -e "${GREEN}登录 ACR...${NC}"
|
|
az acr login --name $(echo ${ACR_NAME} | cut -d'.' -f1)
|
|
|
|
# Agent 列表
|
|
declare -a AGENTS=(
|
|
"search-agent:search_agent.Dockerfile"
|
|
"jina-search-agent:jina_search_agent.Dockerfile"
|
|
"mysql-agent:mysql_agent.Dockerfile"
|
|
"postgresql-agent:postgresql_agent.Dockerfile"
|
|
"azure-blob-agent:azure_blob_agent.Dockerfile"
|
|
)
|
|
|
|
SUCCESS=0
|
|
FAILED=0
|
|
|
|
for item in "${AGENTS[@]}"; do
|
|
IFS=':' read -r name dockerfile <<< "$item"
|
|
image="${ACR_NAME}/ai-agents/${name}:${TAG}"
|
|
|
|
echo ""
|
|
echo -e "${BLUE}========================================${NC}"
|
|
echo -e "${BLUE}构建: ${name}${NC}"
|
|
echo -e "${BLUE}========================================${NC}"
|
|
echo "镜像: ${image}"
|
|
echo "平台: ${PLATFORM}"
|
|
echo ""
|
|
|
|
if docker buildx build --platform ${PLATFORM} \
|
|
-f ${dockerfile} \
|
|
-t ${image} \
|
|
--push \
|
|
. ; then
|
|
echo -e "${GREEN}✅ ${name} 构建成功${NC}"
|
|
((SUCCESS++))
|
|
else
|
|
echo -e "${RED}❌ ${name} 构建失败${NC}"
|
|
((FAILED++))
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo -e "${BLUE}========================================${NC}"
|
|
echo -e "${BLUE} 构建总结${NC}"
|
|
echo -e "${BLUE}========================================${NC}"
|
|
echo -e "${GREEN}成功: ${SUCCESS}${NC}"
|
|
echo -e "${RED}失败: ${FAILED}${NC}"
|
|
echo ""
|
|
|
|
if [ ${FAILED} -eq 0 ]; then
|
|
echo -e "${GREEN}✅ 所有镜像构建成功!${NC}"
|
|
echo ""
|
|
echo "已推送的镜像:"
|
|
for item in "${AGENTS[@]}"; do
|
|
IFS=':' read -r name _ <<< "$item"
|
|
echo " - ${ACR_NAME}/ai-agents/${name}:${TAG}"
|
|
done
|
|
else
|
|
echo -e "${RED}❌ 部分镜像构建失败${NC}"
|
|
exit 1
|
|
fi
|
|
|