자바 애플리케이션 배포
자바 애플리케이션 배포 — jar 실행 스크립트, JAVA_OPTS, 배포 폴더와 롤백
Spring Boot jar 를 리눅스 서버에 올려 띄우고, 다음 버전으로 바꾸고, 문제가 생기면 한 줄로 되돌리는 절차를 배웁니다.
java -jar한 줄 뒤에 숨은 메모리 옵션, 폴더 구조, 실행 스크립트를 만듭니다.
1. 왜 배우는가
IDE 에서 실행 버튼을 누르는 것과 서버에서 java -jar 를 치는 것은 다릅니다. 힙 크기, 외부 설정 파일 위치, 로그가 어디로 가는지, 프로세스가 죽었을 때 누가 다시 띄우는지를 전부 직접 정해야 합니다.
배포는 반복 작업입니다. 매번 손으로 scp 하고 kill 하고 nohup 을 치면 어느 날 옵션 하나를 빠뜨립니다. 실행 스크립트 하나에 절차를 넣어 두면 누가 배포해도 같은 결과가 나옵니다.
되돌리기가 핵심입니다. 새 버전이 시작 직후 죽으면 5분 안에 이전 버전으로 돌아가야 합니다. releases/ 폴더와 current 링크 구조가 그 5분을 보장합니다. 이 레슨의 app.sh 는 Git Bash 에서 실제 JDK 로 실행 검증했습니다.