Initial commit: 浼佷笟寰俊 AI 鏈哄櫒浜哄姪鐞?MVP
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
64
deploy/scripts/update.sh
Normal file
64
deploy/scripts/update.sh
Normal file
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
# 生产环境更新脚本
|
||||
# 用途:拉取最新镜像并重启服务
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
|
||||
cd "$PROJECT_ROOT"
|
||||
|
||||
# 检查参数
|
||||
IMAGE_TAG=${1:-latest}
|
||||
if [ -z "$IMAGE_TAG" ]; then
|
||||
echo "用法: $0 [IMAGE_TAG]"
|
||||
echo "示例: $0 latest"
|
||||
echo "示例: $0 v1.0.0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=== 更新生产服务 ==="
|
||||
echo "镜像标签: $IMAGE_TAG"
|
||||
echo ""
|
||||
|
||||
# 检查 .env.prod 文件
|
||||
if [ ! -f ".env.prod" ]; then
|
||||
echo "错误: 未找到 .env.prod 文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 设置镜像标签
|
||||
export IMAGE_TAG
|
||||
|
||||
# 登录到容器镜像仓库(如果需要)
|
||||
# docker login ghcr.io -u $GITHUB_USERNAME -p $GITHUB_TOKEN
|
||||
|
||||
# 拉取最新镜像
|
||||
echo "[1/3] 拉取最新镜像..."
|
||||
docker-compose -f docker-compose.prod.yml --env-file .env.prod pull
|
||||
|
||||
# 停止旧服务
|
||||
echo ""
|
||||
echo "[2/3] 停止旧服务..."
|
||||
docker-compose -f docker-compose.prod.yml --env-file .env.prod down
|
||||
|
||||
# 启动新服务
|
||||
echo ""
|
||||
echo "[3/3] 启动新服务..."
|
||||
docker-compose -f docker-compose.prod.yml --env-file .env.prod up -d
|
||||
|
||||
echo ""
|
||||
echo "等待服务启动..."
|
||||
sleep 5
|
||||
|
||||
# 检查服务状态
|
||||
echo ""
|
||||
echo "服务状态:"
|
||||
docker-compose -f docker-compose.prod.yml ps
|
||||
|
||||
echo ""
|
||||
echo "=== 更新完成 ==="
|
||||
echo ""
|
||||
echo "查看日志: docker-compose -f docker-compose.prod.yml logs -f"
|
||||
echo "检查健康: curl http://localhost/api/health"
|
||||
Reference in New Issue
Block a user