Ctrl K
ComunidadGuías…

scripts/mao-backend-boot.sh

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/bin/bash
# 开机 / systemctl start:活跃端口已健康则直接返回,否则走 restart.sh。
# 已在跑时不触发蓝绿切换,避免 enable --now 把当前实例切走。
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
APP_DIR="${ROOT}/backend-ts"
export BG_LIB_PATH="${ROOT}/scripts/lib/blue-green.sh"
# shellcheck source=lib/blue-green.sh
source "$BG_LIB_PATH"

port="$(bg_read_active_port)"
if bg_port_in_use "$port"; then
  code="$(curl -s -o /dev/null -w '%{http_code}' "http://127.0.0.1:${port}/api/swagger-ui.html" 2>/dev/null || echo 000)"
  if [ "$code" = "200" ] || [ "$code" = "301" ] || [ "$code" = "302" ]; then
    echo "Mao backend already healthy on port ${port}; skip start"
    exit 0
  fi
  echo "Port ${port} is in use but unhealthy (HTTP ${code}); running blue-green restart"
else
  echo "Mao backend not listening on port ${port}; starting"
fi

export MAO_RESTART_DETACHED=1
exec "${APP_DIR}/restart.sh"