하나의 어플리케이션을 배포하면서

빠르게 개발하고, 테스트를 수행하고 오류 없이 실서버에 배포를 해주어야 합니다.


다소 번거로운 작업이지만, 

개인 local에서 수행할 환경, 테스트나 dev 환경 다룰 환경, 실서버에서 다룰 영역을 다루게 구분해 주고

쉽게 변경이 가능해야 능률이 올라갑니다.



이러한 작업을 yml 파일을 통해 구축할 수 있습니다.

기존엔 properties를 이용하여 다루었지만, 최근에 yaml(yml) 파일을 통해 명시하고 있습니다.



먼저, java>resource> 밑에

application.properties 파일을 -> application.yml로 변경


application.yml 설정


# profiles 값 할당 전
server:
port: 18080
---
# profiles value 할당 (방법1)
# java -jar 파일명.jar --spring.profiles.active=profiles값 (택1)
# java -Dspring.profiles.active=profiles값 -jar 파일명.jar (택2)
spring:
profiles: local
server:
port: 8080
---
# profiles value 할당 (방법2)
# Edit Configurations > Run/Debug Configurations > Active Profiles 값 할당
spring:
profiles: dev
server:
port: 8081
---
spring:
profiles: real
server:
port: 80

--- 를 기준으로 구분


위의 예는 was의 포트번호입니다.

profiles 값을 설정하지 않으면 최상단의 port가 적용



profiles 설정 방법


- command-line에서 설정


# java -jar 파일명.jar --spring.profiles.active=profiles값 (택1)

# java -Dspring.profiles.active=profiles값 -jar 파일명.jar (택2)


dev 또는 real 값을 입력



- Run/Debug Configuration을 통해 입력



Edit Configurations을 클릭



VM options에 -Dspring.profiles.active=dev 입력



서버를 구동하면, port가 dev의 8081로 할당된 것을 볼 수 있음



기존 localhost:8080 -> localhost:8081로 설젇 된 것을 확인




이런식으로 profiles를 할당하면 db같은 설정도 쉽게 할 수 있음


블로그 이미지

사용자 yhmane

댓글을 달아 주세요

  • 물고기 개발자 2019.12.27 16:16 신고  댓글주소  수정/삭제  댓글쓰기

    정보 감사합니다 인텔리 버전이 다를수도있는데 run/debug Configurations 에 Active profiles 라는 항목이 생겨서 local/dev/real 을 입력해서 변경이 가능하네요 혹시나해서 VM options 와 Active profiles에 각각 다른 프로필을 넣어봤는데 Active profiles 에 선언한 포트가 우선 작동하네요 참고요~