diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index cbb5b55..dc70dec 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -80,7 +80,25 @@ jobs: cp deploy/kcg-backend-watcher.service $DEPLOY_DIR/kcg-backend-watcher.service cp deploy/kcg-backend-watcher.path $DEPLOY_DIR/kcg-backend-watcher.path - # JAR 교체 + 재시작 트리거 + # JAR 교체 cp backend/target/kcg.jar $DEPLOY_DIR/kcg.jar - date '+%s' > $DEPLOY_DIR/.deploy-trigger echo "Backend deployed at $(date '+%Y-%m-%d %H:%M:%S')" + + - name: Restart backend service + run: | + # systemd 서비스 파일 갱신 + 백엔드 재시작 (호스트 네임스페이스) + nsenter -t 1 -m -- /bin/bash -c ' + DEPLOY_DIR=/devdata/services/kcg/backend + SYSTEMD_DIR=/etc/systemd/system + CHANGED=0 + for f in kcg-backend.service kcg-backend-watcher.service kcg-backend-watcher.path; do + if [ -f "$DEPLOY_DIR/$f" ] && ! diff -q "$DEPLOY_DIR/$f" "$SYSTEMD_DIR/$f" >/dev/null 2>&1; then + cp "$DEPLOY_DIR/$f" "$SYSTEMD_DIR/$f" + CHANGED=1 + fi + done + [ "$CHANGED" = "1" ] && systemctl daemon-reload + systemctl restart kcg-backend + sleep 5 + systemctl is-active kcg-backend && echo "Backend restarted successfully" || echo "Backend failed to start" + '