우아한 프로그래밍

1. Shell 스크립트 작성

<shell />
# 이부분 주의 해야함 맨 윗줄에는 해당 주석이 있어야함. #!/bin/bash # 서비스는 원래 백그라운드로 돌기때문에 nohup이나 & 백그라운드 연산자가 필요 없습니다. JENKINS_NODE_COOKIE=dontKillMe && java -Xms512m -Xmx2048m -jar -Dspring.profiles.active=prd /var/lib/jenkins/workspace/oasis-api/oasis-api/build/libs/oasis-api-1.0.0-SNAPSHOT.jar

 

2. 서비스 등록

<shell />
# 해당 위치로 이동 root@oasis:/app# cd /etc/systemd/system # <서비스명>.service 패턴 파일 생성 C + D 입력하면 생성 됨. root@oasis:/etc/systemd/system#cat > oasis-api.service [Unit] Description=oasis-api service After=network.target [Service] ExecStart=/bin/bash /app/oasis-api-start.sh User=jenkins Group=jenkins Restart=always [Install] WantedBy=multi-user.target # 권한 부여 root@oasis:/etc/systemd/system# chmod 644 oasis-api.service # 서비스 리로드 root@oasis:/etc/systemd/system# systemctl daemon-reload # 서비스 활성화 ( 서버 재부팅 이후에도 실행 됨 ) root@oasis:/etc/systemd/system# systemctl enable oasis-api.service # 서비스 상태 확인 root@oasis:/etc/systemd/system# systemctl status oasis-api.service # 서비스 실행 root@oasis:/etc/systemd/system# systemctl start oasis-api.service # 실행이 잘 되지 않을 경우 상세 로그 확인 root@oasis:/etc/systemd/system# sudo journalctl -u oasis-api.service

3. 주의사항

Shell 스크립트는 서비스에 등록되면 백그라운드로 돌기때문에 nohup이나 & 백그라운드 연산자가 필요 없습니다.
오히려 백그라운드 관련 코드를 넣어주면 오류가 발생합니다.

profile

우아한 프로그래밍

@자바조아!

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!