From 4482f6f8079594be5819b2e99282d262b8a54e01 Mon Sep 17 00:00:00 2001 From: Rinjae Date: Fri, 12 Jun 2026 18:36:00 +0900 Subject: [PATCH] =?UTF-8?q?CI=20-=20systemd=20=EA=B8=B0=EB=B0=98=20?= =?UTF-8?q?=EC=9B=8C=ED=81=AC=ED=94=8C=EB=A1=9C=20=EB=B3=B4=EA=B0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - systemd 인스턴스 정지/정리 로직 추가 - 사용자 systemd unit 파일 동기화 및 리로드 처리 - Tomcat 실행 방식을 systemd로 전환 --- .gitea/workflows/eapim-portal-ci.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/eapim-portal-ci.yml b/.gitea/workflows/eapim-portal-ci.yml index f3f34ce..36b194a 100644 --- a/.gitea/workflows/eapim-portal-ci.yml +++ b/.gitea/workflows/eapim-portal-ci.yml @@ -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