diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 552118c..c2eb9cd 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -92,39 +92,33 @@ jobs: chmod 600 ~/.ssh/id_deploy ssh-keyscan -T 5 $DEPLOY_HOST >> ~/.ssh/known_hosts 2>/dev/null || true - echo "=== SSH debug: key=$(wc -c < ~/.ssh/id_deploy) bytes, host=$DEPLOY_HOST ===" - ssh -v -i ~/.ssh/id_deploy -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@$DEPLOY_HOST 'echo SSH_OK' 2>&1 | grep -E 'Authenticated|Permission|connect|SSH_OK|exit' || true - SSH_CMD="ssh -i ~/.ssh/id_deploy -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@$DEPLOY_HOST" $SSH_CMD bash -s << 'RESTART' - set -e DEPLOY_DIR=/devdata/services/kcg/backend SYSTEMD_DIR=/etc/systemd/system # systemd 서비스 파일 갱신 - CHANGED=0 if [ -f "$DEPLOY_DIR/kcg-backend.service" ] && ! diff -q "$DEPLOY_DIR/kcg-backend.service" "$SYSTEMD_DIR/kcg-backend.service" >/dev/null 2>&1; then cp "$DEPLOY_DIR/kcg-backend.service" "$SYSTEMD_DIR/kcg-backend.service" - CHANGED=1 + systemctl daemon-reload fi - [ "$CHANGED" = "1" ] && systemctl daemon-reload # 백엔드 재시작 echo "--- Restarting kcg-backend ---" systemctl restart kcg-backend - # 기동 확인 (최대 60초, 401=인증필요=정상 기동) + # 기동 확인 (최대 60초) for i in $(seq 1 60); do - HTTP=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:8080/api/aircraft 2>/dev/null) + HTTP=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:8080/api/aircraft 2>/dev/null || echo "000") if [ "$HTTP" = "200" ] || [ "$HTTP" = "401" ] || [ "$HTTP" = "403" ]; then echo "Backend started successfully (${i}s, HTTP $HTTP)" exit 0 fi sleep 1 done - echo "WARNING: Startup timeout. Recent logs:" - journalctl -u kcg-backend --no-pager -n 20 + echo "WARNING: Startup timeout" + journalctl -u kcg-backend --no-pager -n 10 exit 1 RESTART