hts/build.sh

43 lines
1.1 KiB
Bash

#!/bin/bash
set -e # 构建失败就退出
IMAGE_NAME="cradle:latest"
CONTAINER_NAME="Cradle"
echo "🔍 检查旧容器是否存在..."
if docker ps -a --format '{{.Names}}' | grep -Eq "^${CONTAINER_NAME}\$"; then
echo "🛑 停止旧容器: $CONTAINER_NAME"
docker stop "$CONTAINER_NAME"
echo "❌ 删除旧容器: $CONTAINER_NAME"
docker rm "$CONTAINER_NAME"
fi
echo "🧹 删除旧镜像(如果存在)..."
if docker images --format '{{.Repository}}:{{.Tag}}' | grep -Eq "^cradle:latest\$"; then
docker rmi -f "$IMAGE_NAME"
fi
echo "⬇️ 拉取最新代码..."
git pull
echo "🧼 清除 .next..."
rm -rf apps/blogai/.next
echo "📦 构建镜像..."
if ! docker build \
--build-arg http_proxy=http://127.0.0.1:7890 \
--build-arg https_proxy=http://127.0.0.1:7890 \
--build-arg BLOGAI_HOST=ai.szaiai.com \
--no-cache \
--network=host \
-t cradle:latest \
-f apps/blogai/Dockerfile .; then
echo "❌ 构建失败,退出"
exit 1
fi
echo "🚀 启动新容器..."
docker run -d --name Cradle -p 3008:3008 --restart always -e SUPABASE_URL="http://183.36.35.42:80" cradle:latest