[SpringBoot] 인텔리제이 서버에 jar 파일을 직접 배포하기
- 웹/Spring Boot
- 2023. 4. 22.
테스트를 위해 간단한 서버를 만들고 애플리케이션을 배포하려면 다음 두 가지 파일로 배포가 가능합니다.
- jar
- war
Jar 파일의 경우 내장된 톰캣을 함께 배포하는 방법으로 서버에서 실행만 시키면 동작합니다. War 파일의 경우 이미 Was 환경이 존재해 내장된 톰캣을 제외하고 배포할 때 사용됩니다.
▼ 우선 인텔리제이로 프로젝트를 열고 control 키를 두 번 연속 눌러줍니다. Run Anything 검색 창에서 gradle bootjar를 선택해줍니다. 만약 다시 생성하려면 gradle clean 명령이후에 다시 gradle bootjar 명령을 실행합니다.
8:01:07 PM: 실행 중 'bootJar'...
> Task :compileKotlin UP-TO-DATE
> Task :compileJava NO-SOURCE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :jar UP-TO-DATE
> Task :inspectClassesForKotlinIC UP-TO-DATE
> Task :resolveMainClassName
> Task :bootJar
BUILD SUCCESSFUL in 866ms
6 actionable tasks: 2 executed, 4 up-to-date
8:01:08 PM: 실행이 완료되었습니다 'bootJar'.
▼ 위와 같은 코드가 나왔다면 정상적으로 Jar 파일을 만들었다고 생각하시면 됩니다.
▼ java 명령어에 -jar 옵션으로 어플리케이션 실행합니다. 새로 터미널을 열어서 curl로 API를 호출해 보면 정상동작 하는 것을 알 수 있습니다.
▼ 다음으로 서비스를 위해 백그라운드로 실행하려면 nohup 명령어를 추가합니다. & 를 추가하는 명령은 백그라운드로 동작하며 jar에 대한 로그는 nohup.out 파일에 쓰입니다.
▼ 같은 포트를 사용하면 앱을 실행할 수가 없기 때문에 java 프로세스가 있는지 확인합니다.
▼ 만약 있다면 kill 명령어로 해당 프로세스를 제거합니다.
'웹 > Spring Boot' 카테고리의 다른 글
[SpringBoot] 스프링부트 3.x 에서 Querydsl 설정하기 (0) | 2024.02.20 |
---|---|
[SpringBoot] H2 Database 데이터베이스 설치 (0) | 2022.09.05 |
[SpringBoot] 스프링부트 프로젝트 도커(Docker) 배포하는 방법 (0) | 2022.07.30 |
[SpringBoot] 스프링부트 JPA - MySQL, MariaDB 설정하기 (0) | 2022.05.07 |
[SpringBoot] 스프링부트 테스트 환경에서 Lombok 사용하기 (0) | 2022.05.07 |