kcg-monitoring/deploy/kcg-backend-deploy.service
htlee 150b236ee8 fix(deploy): 폴링 타이머로 백엔드 자동 재시작
- Docker 컨테이너에서 nsenter/inotify 불가 → 30초 폴링 타이머로 변경
- kcg-backend-deploy.timer: 30초마다 JAR mtime 체크
- kcg-backend-deploy.service: JAR 갱신 감지 시 systemd 파일 교체 + restart
- watcher.path(inotify 기반) 제거, deploy.timer(폴링 기반)로 교체

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 06:29:28 +09:00

24 lines
797 B
Desktop File

[Unit]
Description=Check and restart KCG Backend if JAR updated
[Service]
Type=oneshot
ExecStart=/bin/bash -c '\
DEPLOY_DIR=/devdata/services/kcg/backend; \
JAR=$DEPLOY_DIR/kcg.jar; \
MARKER=$DEPLOY_DIR/.last-restart; \
[ ! -f "$JAR" ] && exit 0; \
if [ "$JAR" -nt "$MARKER" ] 2>/dev/null || [ ! -f "$MARKER" ]; then \
SYSTEMD_DIR=/etc/systemd/system; \
CHANGED=0; \
for f in kcg-backend.service kcg-backend-deploy.service kcg-backend-deploy.timer; 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; \
touch "$MARKER"; \
fi'