앞선 프로젝트와는 달리 이번 앱 런칭 프로젝트는 실제 앱의 런칭까지 이루어질 것이다.
그러한 연유로, 개발 서버와 실제 운영 서버, 테스트 서버 등등 각각의 환경을 구분해야 했다.
자세한 내용은 추후에 다루도록 하고 실제 사용한 부분만 다루도록 하겠다.
Spring Boot
에서는 Embedded Tomcat
, Application
설정 관련 및 기타 정적인 값을 Key - Value
형식으로 관리한다. 이때 해당 설정을 지정해주는 파일이 있는데, 바로 src/main/resources/
에 위치하는 application.properties
, application.yml
이다.
여기서 만약 application.properties
와 application.yml
파일이 둘 다 존재하면 application.yml
파일만 오버라이드 되어 적용된다.
위 사진에서 보면 application-xxx.yml
의 형태의 설정 파일도 볼 수 있는데, 이는 설정 파일 내부에 존재하는 profile
을 의미한다. 그러니까, -(대시)
로 설정 파일의 profile
을 구분한다.
yml
은 특히 들여쓰기에 주의해야 한다! 기억해!이제 상황에 맞게 설정 파일을 적용해야 한다. application.yml
에 아래 사진과 같이 활성화할 profile
을 입력해주면 프로젝트를 구동할 때 자동으로 해당 설정이 적용된다. 아래 사진에서 profiles
부분을 주목하자. active
에 활성화하고 싶은 설정 profile
을 입력하면 된다. 만약 active
에 해당하는 설정 파일이 존재하지 않으면 application.yml
의 설정이 적용된다.
위 사진에서 보이는 include
옵션은 자동으로 설정에 credentials
프로필도 포함시키는 역할을 한다. 만약 특정 프로필에 include
옵션을 사용하면 해당 프로필을 실행시킬 때 include
에 지정된 특정 프로필을 포함시킨다.
include
하는 것 처럼 된다. 마찬가지로 include
에 설정해준 프로필이 활성화 된다.profile
을 만들고 active: {별도로 만든 프로필 명}
과 같이 설정을 추가해줘야 한다.application.yml
이어야만 include
된 설정 안에서의 profile
구분이 정상적으로 작동한다. 애초에 최초 시작 설정 파일을 application-prod.yml
로 한 상태에서 include
는 그 안의 profile
구분이 무시된다.하나의 파일에서 ---
를 구분자로 하여 profile
을 분리할 수 있다(2.4버전부터는 Deprecate되고 새로운 규칙을 사용한다.).
위 사진과 같이 설정을 적용하고 실행했을 때의 결과이다. 콘솔을 보면 colt1
에 설정된 포트번호인 8000 포트 번호로 실행된 것을 확인할 수 있다.