Avoid Permission denied on production when running ./restart.sh after pull. Co-authored-by: Cursor <cursoragent@cursor.com>
49 lines
1.2 KiB
Bash
Executable File
49 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# AI 建站 — 重启
|
||
# 用法:
|
||
# ./restart.sh # 不拉代码:停 → 构建 → 起
|
||
# ./restart.sh --pull # 强制对齐远程后再重启(生产一键更新)
|
||
# ./restart.sh --no-rebuild # 重启但不强制重建镜像
|
||
set -euo pipefail
|
||
ROOT="$(cd "$(dirname "$0")" && pwd)"
|
||
cd "$ROOT"
|
||
# shellcheck disable=SC1091
|
||
. "$ROOT/scripts/lib-aijz-deploy.sh"
|
||
|
||
REBUILD=1
|
||
DO_PULL=0
|
||
for a in "$@"; do
|
||
case "$a" in
|
||
--pull|--update) DO_PULL=1 ;;
|
||
--no-pull) DO_PULL=0 ;;
|
||
--no-rebuild) REBUILD=0 ;;
|
||
-h|--help)
|
||
echo "用法: $0 [--pull|--update] [--no-rebuild]"
|
||
echo " 默认不拉代码;--pull 时 git fetch + checkout -f + reset --hard 对齐远程后重启"
|
||
exit 0
|
||
;;
|
||
esac
|
||
done
|
||
|
||
echo "========================================"
|
||
echo " AI 建站 重启"
|
||
echo " 路径: $ROOT"
|
||
if [ "$DO_PULL" = "1" ]; then
|
||
echo " 拉取: 是(强制对齐 ${GIT_BRANCH:-main})"
|
||
else
|
||
echo " 拉取: 否(加 --pull 可拉代码)"
|
||
fi
|
||
echo "========================================"
|
||
|
||
ensure_docker
|
||
ensure_env_file
|
||
export_defaults
|
||
if [ "$DO_PULL" = "1" ]; then
|
||
git_pull_hard
|
||
fi
|
||
stack_down
|
||
sleep 1
|
||
stack_up "$REBUILD"
|
||
healthcheck
|
||
print_endpoints
|