#!/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