목표
1. prod모드로 테스트 하고
2. build 해보고
3. jar파일안에 데이터들이 잘 들어 갔는지 확인해야된다.
SQL
복사
yml설정 재확인
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ropatestdb
username: ropa
password: ropa1234
Java
복사
mysql 설정이랑
url을 설정하고 금방생성한 db이름을 넣어줘야된다.
그리고 username/password도 마찬가지.
그리고 application.yml에도 prod모드로 바꿔주자.
prod 모드 통합 테스트
test디렉토리에 오른쪽 마우스 클릭하면
Run ‘All tests’가 보일텐데 이걸로 통합테스트를 하면된다.
dev모드로 테스트가 모두 통과하고 mysql도 제대로 생성했다면은
prod모드도 별 탈없이 통과할 것이다.
prod모드 테스트 확인
JAR 파일 구워보기
./gradlew clean build
JavaScript
복사
bash에서 프로젝트를 build한다.
테스트에 모두 통과했다면 문제없이 jar파일이 구워질 것이다.
ROOT > build > libs > 이 경로에
finalproject-0.0.1-SNAPSHOT 파일로 jar가 구워 졌다.
프로젝트 이미지 libs폴더에 옮기기
이해하기..
•
배포시에 엘라스틱 빈스톡한테 결국엔 ZIP파일을 던져줘야된다.
•
ZIP파일의 내부구조를 위의 그림과 같이 만들면, 엘라스틱 빈스톡이 찾을 수 있다.
•
결국 jar파일 외의 정적 리소스 ( 사진, 그림 등등) 폴더를 jar파일 옆에 폴더를 만들고 복사해야된다. ( 경로 : build/libs/ )
•
그리고 엘라스틱 빈스톡을 위한 zip파일을 생성하는 과정은 GitActions가 담당하게 되고, GitActions가 읽을 수 있는 config파일을 우리가 작성해주면 된다.
이렇게 libs폴더 내부, jar파일 옆에 복사하면 된다.
Procfile 생성
설명
•
Procfile은 PaaS (Platform as a Service) 환경에서 애플리케이션이 어떻게 실행이 될지 정의하는 파일이다.
•
Procfile은 애플리케이션 실행 명령어를 명시적으로 지정하여 배포된 애플리케이션이 올바르게 실행되도록 한다.
•
Procfile은 확장자명이 없어야 된다.
위처럼 Procfile이 jar파일 옆에 있으면 되겠다.
Procfile 정의
// Procfile 정의!
java -jar -Dspring.profiles.active=prod *.jar
Java
복사
명령어 설명
•
java -jar: Java로 JAR 파일을 실행하는 명령어.
•
Dspring.profiles.active=prod: Spring Boot 애플리케이션의 프로파일을 prod로 설정.
•
application.jar: 실행할 JAR 파일.