Files
2026-moving-helper/scripts/deploy.sh
T
2026-04-19 13:33:43 +02:00

38 lines
918 B
Bash
Executable File

#!/usr/bin/env sh
set -eu
PROJECT_ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
cd "$PROJECT_ROOT"
if [ ! -f ".env" ] && [ -f ".env.example" ]; then
echo "未找到 .env,先从 .env.example 复制一份:"
echo " cp .env.example .env"
exit 1
fi
DATA_DIR_VALUE=$(grep '^DATA_DIR=' .env 2>/dev/null | tail -n 1 | cut -d '=' -f 2- || true)
DATA_DIR=${DATA_DIR_VALUE:-./data}
mkdir -p "$DATA_DIR"
echo "[1/4] 拉取最新代码(如果当前目录是 git 仓库)"
if [ -d ".git" ]; then
git pull --ff-only
else
echo "跳过:当前目录不是 git 仓库"
fi
echo "[2/4] 构建并更新容器"
docker compose up -d --build
echo "[3/4] 当前容器状态"
docker compose ps
echo "[4/4] 最近日志"
docker compose logs --tail=50 web
echo
echo "部署完成。应用默认地址:"
echo " http://localhost:$(grep '^PORT=' .env 2>/dev/null | tail -n 1 | cut -d '=' -f 2- || echo 10000)"