1. 배포
개인프로젝트이니 간단하게 내장 톰캣을 활용하여 war 배포를 진행했다.
2. 필수 설정
먼저 build.gradel 파일을 수정해줘야한다.
plugins {
id 'java'
id 'war'
id 'org.springframework.boot' version '3.4.1'
id 'io.spring.dependency-management' version '1.1.7'
}
bootWar {
archiveBaseName = 'HongEnglish'
}
(1) id : war -> war 배포를 한다는걸 스프링부트에게 알려준다.
(2) bootWar : archiveBaseName -> 배포될 파일의 이름을 정한다 ( HongEnglish.war 파일이 생성된다.
(3) 이후 최종적으로 수정된 build.gradle을 Refresh gradle project를 클릭해주면

이와 같이 프로젝트의 build를 확인할 수 있다. 여기서 나는 bootWar로 배포를 할 것이니 bootWar 더블클릭 하면

이렇게 빌드가 잘되었다고 나온다 😀
(4) 이후 프로젝트경로\study\build\libs에 들어가면

이렇게 war파일이 생성된걸 확인할 수 있다.
(5) 이제 준비는 끝났고 sts를 닫고 이 war파일을 cmd를 통해 war 파일을 실행해준다. cmd에서 war파일이 있는 경로로 이동 후 ( java -jar HongEnglish-0.0.1-SNAPSHOT.war ) 명령어 실행으로 서버 Start해준다.

이와같이 서버가 내장톰캣으로 서버가 잘 실행되는 것을 확인할 수 있다 😄
3. war파일과 DB데이터 관리
집에서 내장배포된 서버를 돌리는 용도로 노트북을 실행하고 로컬환경에서 테스트 후 war파일과 DB데이터를 전달하기 위해 실제 업무에서 하듯 날짜별로 폴더로 관리했다.

처음에는 그냥 war 파일을 최신본으로 덮어쓰기 했지만 갑자기 이전에 react native 프로젝트를 실행했더니 실행이 되지 않았던 기억이 있었다. 결국 마지막으로 정상적으로 작동하던 순간을 찾지 못했다.. 😂 왜 회사에서 날짜별로 war파일과 데이터를 관리하는지 뼈저리게 느꼈다. 앞으로도 날짜별로 저장할 수 있도록 습관을 들이자 😎