36 lines
930 B
Bash
Executable File
36 lines
930 B
Bash
Executable File
#!/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
|