fix(deploy): SSH set -e 제거 + curl fallback (#49)
All checks were successful
Deploy KCG / deploy (push) Successful in 1m14s

Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
This commit is contained in:
htlee 2026-03-18 08:45:33 +09:00 committed by claude-bot
부모 7b05598714
커밋 c9f295288c

파일 보기

@ -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