- systemd 인스턴스 정지/정리 로직 추가 - 사용자 systemd unit 파일 동기화 및 리로드 처리 - Tomcat 실행 방식을 systemd로 전환
This commit is contained in:
@@ -65,6 +65,10 @@ jobs:
|
|||||||
- name: Stop tomcat (pre-clean)
|
- name: Stop tomcat (pre-clean)
|
||||||
working-directory: ${{ github.workspace }}
|
working-directory: ${{ github.workspace }}
|
||||||
run: |
|
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
|
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
|
JAVA_HOME=$JAVA_HOME_TOMCAT "$CATALINA_HOME/bin/shutdown.sh" 30 -force || true
|
||||||
for i in $(seq 1 30); do
|
for i in $(seq 1 30); do
|
||||||
@@ -82,6 +86,15 @@ jobs:
|
|||||||
cp eapim-portal/build/libs/eapim-portal.war "$DEPLOY_DIR/ROOT.war"
|
cp eapim-portal/build/libs/eapim-portal.war "$DEPLOY_DIR/ROOT.war"
|
||||||
ls -la "$DEPLOY_DIR"
|
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)
|
- name: Start tomcat and readiness probe (timeout 120s)
|
||||||
working-directory: ${{ github.workspace }}
|
working-directory: ${{ github.workspace }}
|
||||||
run: |
|
run: |
|
||||||
@@ -89,8 +102,8 @@ jobs:
|
|||||||
BEFORE=0
|
BEFORE=0
|
||||||
[ -f "$LOG" ] && BEFORE=$(stat -c %s "$LOG")
|
[ -f "$LOG" ] && BEFORE=$(stat -c %s "$LOG")
|
||||||
|
|
||||||
mkdir -p "$(dirname $CATALINA_PID)"
|
# systemd 가 Tomcat 을 새 cgroup 으로 띄움 — runner step 종료와 무관하게 살아남음
|
||||||
JAVA_HOME=$JAVA_HOME_TOMCAT "$CATALINA_HOME/bin/startup.sh"
|
systemctl --user start eapim-portal
|
||||||
|
|
||||||
DEADLINE=$(($(date +%s) + 120))
|
DEADLINE=$(($(date +%s) + 120))
|
||||||
LIVE_OK=0
|
LIVE_OK=0
|
||||||
|
|||||||
Reference in New Issue
Block a user