연습내용 GitHub주소 resource만 보면 됨.
IntelliJ IDE에서는 아래와 같이 Gradle task 명령을 통해 빌드 할 수 있다.
:build
:assemble
, :check
같이 Gradle에서 빌드와 관련된 모든 task들을 실행:bootJar
cmd, Git Bash, Windows Power Shell, 터미널 등 콘솔에 Gradle task 명령어를 입력하면 된다.
프로젝트가 위치해 있는 디렉토리 경로로 이동
Gradle task를 CLI 명령으로 입력할 수 있는 콘솔창을 템플릿 프로젝트 root 경로에서 오픈
명령어 입력
Windows 터미널
PS D:\codestates\project\section3-week4-build> .\gradlew bootJar
Git Bash
MINGW64 /d/codestates/project/kdt/for-ese/section3-week4-build (main)
$ ./gradlew build
java -jar 파일명.jar
입력프로파일 기능은 빌드된 실행 파일을 어느 환경에서 실행할 지 여부를 결정할 때 주로 사용
application.yml
application-local.yml
application-server.yml
구성편집
프로그램 인수 --spring.profiles.active=local
와 같이 local로 변경
위에서 사용했던 java -jar 파일명.jar
에 --spring.profiles.active=local
을 추가하면 된다.
//예시
PS D:\AAWonJong\it\spring\project\be-template-build\build\libs> java -jar section3-week3-template-build-0.0.1-SNAPSHOT.jar --spring.profiles.active=local
전통적인 배포 방법
클라우드 서비스를 이용한 배포 방법
PaaS(Platform as a Service)
- 애플리케이션을 개발하고 실행하기 위한 플랫폼을 제공한다.
- 플랫폼이 서버, 스토리지, 네트워크 및 데이터베이스와 같은 인프라를 관리해 줌.
- 예시: Heroku, Google App Engine, Microsoft Azure 등이 있다.
IaaS(Infrastructure as a Service)
- 개발자가 직접 인프라를 관리할 수 있는 플랫폼을 제공한다.
- 서버, 스토리지, 네트워크 및 데이터베이스와 같은 인프라를 개발자가 직접 관리한다.
- 예시: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform 등이 있다.
CI/CD 플랫폼을 사용한 배포
- 지속적인 통합 및 배포를 제공하는 플랫폼이다.
- 코드를 버전 관리 시스템에 커밋하면 자동으로 빌드, 테스트, 배포되도록 설정할 수 있다.
- 대표적인 예시: Jenkins, CircleCI, Travis CI, GitLab CI/CD 등이 있다.
워크벤치에 스키마 추가
혹은 command line 사용해서 원하는 디비 생성, 접속하고 원하는 요청을 쿼리문으로 날려주면 된다.
application-server.yml
파일 설정# 서버 환경에서 사용하는 정보들은 application-server.yml 파일에 설정
# TODO MySQL DB 접속 정보를 아래에 설정하세요
spring:
datasource:
url: jdbc:mysql://localhost:3306/orderCoffee?serverTimezone=Asia/Seoul # url설정
username: root
password: 비밀번호입력!
Driver-class-name: com.mysql.cj.jdbc.Driver # 드라이버 설정
jpa:
hibernate:
ddl-auto: create # 스키마 자동 생성
show-sql: true # SQL 쿼리 출력
properties:
hibernate:
format_sql: true # SQL pretty print
build.gladle
설정runtimeOnly 'mysql:mysql-connector-java:8.0.32'
의존성 추가