CI - systemd 기반 워크플로 보강
eapim-portal CI / build (push) Has been cancelled

- systemd 인스턴스 정지/정리 로직 추가
- 사용자 systemd unit 파일 동기화 및 리로드 처리
- Tomcat 실행 방식을 systemd로 전환
This commit is contained in:
Rinjae
2026-06-12 18:36:00 +09:00
parent 34f5a89f78
commit 4482f6f807
+15 -2
View File
@@ -65,6 +65,10 @@ jobs:
- name: Stop tomcat (pre-clean)
working-directory: ${{ github.workspace }}
run: |
# 1) systemd 관리 인스턴스 정지 (이번 워크플로가 띄운 것)
systemctl --user stop eapim-portal 2>/dev/null || true
# 2) systemd 외부 detached 인스턴스 (eapim-boot-start.sh 등) 정리
if [ -f "$CATALINA_PID" ] && kill -0 "$(cat $CATALINA_PID)" 2>/dev/null; then
JAVA_HOME=$JAVA_HOME_TOMCAT "$CATALINA_HOME/bin/shutdown.sh" 30 -force || true
for i in $(seq 1 30); do
@@ -82,6 +86,15 @@ jobs:
cp eapim-portal/build/libs/eapim-portal.war "$DEPLOY_DIR/ROOT.war"
ls -la "$DEPLOY_DIR"
- name: Refresh systemd unit
working-directory: ${{ github.workspace }}
run: |
# repo 의 unit 파일을 사용자 systemd 디렉터리로 sync (정의 변경 자동 반영)
install -m 0644 \
eapim-portal/deploy/systemd/eapim-portal.service \
"$HOME/.config/systemd/user/eapim-portal.service"
systemctl --user daemon-reload
- name: Start tomcat and readiness probe (timeout 120s)
working-directory: ${{ github.workspace }}
run: |
@@ -89,8 +102,8 @@ jobs:
BEFORE=0
[ -f "$LOG" ] && BEFORE=$(stat -c %s "$LOG")
mkdir -p "$(dirname $CATALINA_PID)"
JAVA_HOME=$JAVA_HOME_TOMCAT "$CATALINA_HOME/bin/startup.sh"
# systemd 가 Tomcat 을 새 cgroup 으로 띄움 — runner step 종료와 무관하게 살아남음
systemctl --user start eapim-portal
DEADLINE=$(($(date +%s) + 120))
LIVE_OK=0