#!/bin/bash

# 加载 .env 文件里的变量
export $(grep -v '^#' .env | xargs)

# 每次构建前执行 npx 打包
echo "开始执行 npx 打包..."
npx vitepress build docs # 请根据你的项目调整这个命令

if [ $? -ne 0 ]; then
  echo "npx 打包失败，终止构建镜像。"
  exit 1
fi

# 构建新的镜像
echo "构建新的镜像: $IMAGE_NAME:$IMAGE_TAG"
docker build -t $IMAGE_NAME:$IMAGE_TAG .
if [ $? -ne 0 ]; then
  echo "镜像构建失败。"
  exit 1
fi

echo "镜像构建成功: $IMAGE_NAME:$IMAGE_TAG"

# 清理镜像：删除名称为 $IMAGE_NAME 且标签不是 $IMAGE_TAG 的旧镜像
echo "清理旧镜像..."
OLD_IMAGES=$(docker images --filter=reference="$IMAGE_NAME:*" --format '{{.Repository}}:{{.Tag}}' | grep -v "$IMAGE_NAME:$IMAGE_TAG")

if [ -n "$OLD_IMAGES" ]; then
  echo "删除以下旧镜像:"
  echo "$OLD_IMAGES"

  # 删除旧镜像
  echo "$OLD_IMAGES" | xargs docker rmi -f
fi
