excel2pic/deploy.sh

49 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -e
# 定义变量
IMAGE_NAME="excel2pic"
CONTAINER_NAME="excel2pic_container"
PORT=8010
echo "开始部署 $IMAGE_NAME ..."
# 0. 拉取最新代码
if [ -d ".git" ]; then
echo "正在拉取最新代码..."
git pull
else
echo "警告: 当前不是 Git 仓库,跳过代码拉取。"
fi
# 1. 构建 Docker 镜像
echo "构建 Docker 镜像..."
docker build -t $IMAGE_NAME:latest .
# 2. 检查并停止旧容器
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
echo "停止并移除旧容器..."
docker stop $CONTAINER_NAME || true
docker rm $CONTAINER_NAME || true
fi
# 3. 启动新容器
echo "启动新容器..."
docker run -d \
--name $CONTAINER_NAME \
-p $PORT:8000 \
$IMAGE_NAME:latest
# 4. 验证部署
echo "等待服务启动..."
sleep 2
if docker ps | grep -q $CONTAINER_NAME; then
echo "部署成功!"
echo "API 文档地址: http://localhost:$PORT/docs"
echo "测试转换接口: POST http://localhost:$PORT/api/v1/convert"
else
echo "部署失败,容器未运行。"
docker logs $CONTAINER_NAME
exit 1
fi