arko_renual/deploy/dev/arko-dev.service
URP2026 7c574922d8 개발서버(csv.zioinfo.co.kr) 배포 구성 및 Gitea Actions 파이프라인 추가
- 00-server-setup.sh: JDK8(Temurin)·Tomcat9·systemd·nginx·act_runner 구축 (멱등)
- arko-dev-deploy.sh: WAR 검증→백업→ROOT 재전개→환경설정 주입→기동→헬스체크→실패 시 롤백
- build-and-upload.sh: 개발자 PC에서 JDK8 빌드 후 WAR 업로드 (서버 자원 보호)
- deploy-dev.yml: master push 시 자동 배포, 수동 재배포·롤백 지원

서버가 2코어/메모리 여유 1G에 40여 개 서비스가 동거하는 환경이라
Maven 빌드는 서버에서 돌리지 않고 개발자 PC에서 수행한다.
JSP가 리소스를 컨텍스트 경로 없이 하드코딩해 ROOT 전개만 가능하며,
globals-{dev,live}.properties는 .gitignore 대상이라 서버 config/에 두고 배포 시 주입한다.
2026-07-29 15:44:02 +09:00

40 lines
1.5 KiB
Desktop File

# arko_renual 개발서버 Tomcat 서비스
# 설치 위치: /etc/systemd/system/arko-dev.service
#
# 이 서버(zio-server)의 기존 서비스들과 같은 방식(systemd 직접 관리)을 따른다.
# 메모리 여유가 1.3G 수준이라 힙을 768m로 제한한다 — 부족하면 서버 전체가 스왑/OOM으로 흔들린다.
[Unit]
Description=arko_renual DEV (Tomcat 9, csv.zioinfo.co.kr, :8088)
After=network.target mariadb.service
Wants=mariadb.service
[Service]
Type=forking
Environment="JAVA_HOME=/opt/arko-dev/jdk8"
Environment="CATALINA_HOME=/opt/arko-dev/tomcat"
Environment="CATALINA_BASE=/opt/arko-dev/tomcat"
Environment="CATALINA_PID=/opt/arko-dev/tomcat/temp/tomcat.pid"
# -Xmx768m: 서버 가용 메모리 기준 상한. 늘리려면 free -h 먼저 확인할 것
# headless: 이미지 처리(썸네일) 시 X11 없는 환경에서 죽지 않도록
# Asia/Seoul: 로그·배치 시각을 서버 다른 서비스와 맞춘다
Environment="CATALINA_OPTS=-Xms256m -Xmx768m -XX:MaxMetaspaceSize=256m -Djava.awt.headless=true -Duser.timezone=Asia/Seoul -Dfile.encoding=UTF-8"
ExecStart=/opt/arko-dev/tomcat/bin/startup.sh
ExecStop=/opt/arko-dev/tomcat/bin/shutdown.sh 30 -force
# arko는 첫 기동 시 JSP 컴파일로 60~90초가 걸린다
TimeoutStartSec=300
TimeoutStopSec=90
Restart=on-failure
RestartSec=15
# 배포 스크립트가 webapps/ROOT를 갈아끼우므로 파일 접근 제약은 걸지 않는다
User=root
Group=root
UMask=0027
[Install]
WantedBy=multi-user.target