Spring MVC(빌드/실행/배포)

Rina's·2023년 7월 4일

코드스테이츠

목록 보기
60/96
post-thumbnail

🦋빌드

만든 어플리케이션을 실행 가능한 (.Jar)확장자로 빌드하자

1. IntelliJ IDE에서 빌드
build > bootJar or build task 실행
:build - 실행 가능한 Jar 파일 이외에 plain Jar 도 생성
:bootJar - 실행 가능한 Jar만 생성

2. Gradle Task로 빌드
Git Bash
만든 프로젝트 파일로 이동 > ./gradlew build(or bootJar) 입력하여 실행

Windows 터미널
만든 프로젝트 파일로 이동 > .\gradlew bootJar(or bootJar) 입력하여 실행

빌드된 jar 파일을 CUI로 실행해 보자
java -jar 파일명.jar

🦋프로파일 설정

application.yml
Spring Boot 애플리케이션의 설정하며 동작방식, 환경등을 정의하는 파일
기본적으로 앱 설정파일은 앱 프로파일(특정 환경에서 실행 시 사용되는 설정)을 포함한다

이를 로컬 전용의 application-local.yml
서버 전용의 application-server.yml
실행 환경과 상관없이 공통 사용되는 application.yml로 분리한다

application-local.yml 설정

파일명을 제목과 같이 설정시 프로파일명은 'local'이 된다

spring:
  h2: //local에서 인메모리 사용을 위한 H2 설정
    console:
      enabled: true
      path: /h2
  datasource:
    url: jdbc:h2:mem:test
  jpa: //jpa 설정
    hibernate: //자바 기반의 객체-관계 매핑 프레임워크
      ddl-auto: create  //매핑된 엔티티를 확인하여 스키마 자동 생성
    show-sql: true  //Hibernate 실행중 생성되는 SQL 쿼리를 콘솔에 출력
    properties:
      hibernate:
        format_sql: true  //SQL pretty print(가독성을 올려줌)
  sql:
    init:
      data-locations: classpath*:db/h2/data.sql //초기값 스크립트 경로 지정
logging: //로그 관련 설정
  level:
    org:
      springframework:
        orm:
          jpa: DEBUG
server: 
  servlet:
    encoding:
      force-response: true //서블릿 응답을 UTF-8 형식으로 강제 인코팅(한글)

application-server.yml 설정

spring:
  jpa:
    hibernate:
      ddl-auto: update //외부저장소 설정을 통해 update
    show-sql: true      
    properties:
      hibernate:
        format_sql: true
  datasource: 
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/coffee_application?serverTimezone=Asia/Seoul 
    username: root
    password: wjsq*****

추가되는 datasource 정보를 입력한다

  • url:
  • mysql port: DB mySQL server 설치시 설정,
  • Database: mySQL에서 Database를 먼저 생성해야 한다
  • serverTimezone: 선택사항, createAt에 영향을 준다

🦋 실행

설정 파일을 다 작성했다면 프로파일 적용하여 실행하자

인텔리제이에서 적용하여 실행

  1. 셀렉트 박스나 클래스파일 좌클릭을 통해 실행 구성 편집(Edit Configurations)에 들어간다.
  2. 실행 위치를 로컬머신으로 설정하고
  3. 프로그램 인수(Program arguments)에 --spring.profiles.active=[프로파일명]을 입력하여 활성화할 프로파일을 설정한다.
    (또는 인텔리제이 Ultimate 사용시 활성 프로파일에 [프로파일명] 을 적어준다)
  4. 실행 직후 로그에 The following 1 profile is active: [프로파일명]라는 문구를 볼 수 있다

CUI에서 적용하여 실행

빌드된 jar 파일 실행시 뒤에 --spring.profiles.active=[프로파일명]를 추가해 주면 된다
$ java -jar section3-week4-build-0.0.1-SNAPSHOT.jar --spring.profiles.active=local

Git Bash 실행 결과 서버 종료 후에도 남아있는 databate

🦋배포

  • 표준 유닉스 툴
    scp나 sftp로 수동 배포

  • 클라우드 서비스
    PaaS(Platform as a Service),
    IaaS(Infrastructure as a Service),
    CI/CD 플랫폼을 통한 배포 자동화

profile
갭린이 리나

0개의 댓글