2023. 5. 10. 16:12γμΈνλ°/μ€νλ§ λΆνΈ - ν΅μ¬ μ리μ νμ©
https://hyejin.tistory.com/1166
μ λ² κΈμμ μ€νλ§ μΈλΆ μ€μ λ°©λ² μ€ μΈλΆ νμΌ, λ΄λΆ νμΌλ‘ μ€μ νλ λ°©λ²μ μμ±νλ€.
κ·Έλ¦¬κ³ μ΄ λ΄λΆ νμΌμ ν΅ν©ν΄μ #--- λλ !---λ‘ κ΅¬λΆν΄μ νλμ νμΌλ‘ μ¬μ©ν μ μλ κ² κΉμ§ μμλ΄€λλ°
μ΄λ profileμ μ§μ νμ§ μλλ€λ©΄ μ€νλ§μ "default" νλ‘νλ‘ μ§μ νκ³ , νλ‘νμ ν΄λΉνλ κ°μ μ‘°ννλ€.
url=local.db.com
username=local_user
password=local_pw
#---
spring.config.activate.on-profile=dev
url=dev.db.com
username=dev_user
password=dev_pw
#---
spring.config.activate.on-profile=prod
url=prod.db.com
username=prod_user
password=prod_pw
λ€μκ³Ό κ°μ΄ 맨 μμ νλ‘νμ μ§μ νμ§ μκ³ url, username, password κ°μ μ§μ ν΄ κΈ°λ³Έκ°μ μ€μ ν΄μ€¬λ€.
κ·Έλ¬λ©΄ νλ‘νμ μκ΄μμ΄ μ΄ κ°μ νμ μ¬μ©ν μ μκ² λλ€.
μ΄λ κ² application.propertiesμ μμ±ν΄μ£Όκ³ , νλ‘ν μμ΄ μ€ννλ©΄
μ΄λ κ² κΈ°λ³Έκ°μ΄ μ€μ λ κ²μ νμΈν μ μλ€.
κ·Έλ¦¬κ³ λ§μ½ νλ‘νμ devλ‘ μ€μ νλ©΄ κΈ°λ³Έκ°λ³΄λ€ νλ‘ν μ€μ ν΄μ€ devκ° μ°μ μμλ₯Ό κ°μ Έ
devμμ μ§μ ν ν€κ°μ μ‘°νν μ μλ€.
βοΈ μ€μ λ°μ΄ν° μ°μ μμ
url=local.db.com
username=local_user
password=local_pw
#---
spring.config.activate.on-profile=dev
url=dev.db.com
username=dev_user
password=dev_pw
#---
spring.config.activate.on-profile=prod
url=prod.db.com
username=prod_user
password=prod_pw
application.properties νμΌμμ μ€νμμλ λ¨μνκ² λ¬Έμλ₯Ό μμμ μλλ‘ μ½μΌλ©΄μ μ¬μ©ν κ°μ μ€μ νλ€κ³ ν μ μλ€.
1οΈβ£ μ°μ κΈ°λ³Έκ°μΈ λ°μ΄ν°λ€μ μ½μ΄μ μ μ₯νλ€.
(μ΄ κΈ°λ³Έκ°λ€μ νλ‘νκ³Ό 무κ΄νκ² νμ κ°μ μ¬μ©ν μ μλ€.)
2οΈβ£ λ€μ μμμΈ dev κ΄λ ¨ λ°μ΄ν°λ€μ μ½λλ° μ΄λ dev νλ‘νμ΄ μ€μ λμ΄ μλ€λ©΄ κΈ°μ‘΄ κ°μμ dev κ°μΌλ‘ λ체νκ³ , νλ‘ν μ€μ μ΄ λμ΄μμ§ μλλ€λ©΄ dev κ΄λ ¨ λ¬Έμλ 무μλκ³ κ·Έ κ°μ μ¬μ©νμ§ μλλ€.
3οΈβ£ κ·Έ λ€μ μμμΈ prod κ΄λ ¨ λ°μ΄ν°λ€μ μ½λλ° μ΄λλ prod νλ‘νμ΄ μ€μ λμ΄ μλ€λ©΄ κΈ°μ‘΄ κ°μμ prod κ°μΌλ‘ λ체νκ³ , νλ‘ν μ€μ μ΄ λμ΄μμ§ μλλ€λ©΄ prod κ΄λ ¨ λ°μ΄ν°λ 무μνκ³ μ¬μ©νμ§ μλλ€.
* κ·Έλ¦¬κ³ νλ‘νμ dev, prod λ± 2κ° μ΄μ μ€μ νλ κ²λ κ°λ₯νλ€.
--spring.profiles.active = dev, prod
url=local.db.com
username=local_user
password=local_pw
#---
spring.config.activate.on-profile=dev
url=dev.db.com
username=dev_user
password=dev_pw
#---
spring.config.activate.on-profile=prod
url=prod.db.com
username=prod_user
password=prod_pw
#---
url=test.db.com
λ§μ½ 맨 λ°μ ꡬλΆμ μ μΆκ°νκ³ url=test.db.com μ μΆκ°νλ©΄..
μ€νλ§μ μμμ μλλ‘ λ°μ΄ν°λ₯Ό μ½λλ€κ³ νμΌλκΉ url λ§ test.db.comμΌλ‘ λ³κ²½λλ κ²μ νμΈν μ μλ€.
* κ·Όλ° λ¬Όλ‘ μ΄λ κ²λ κ±°μ μ¬μ©νμ§ μλλ€. κ·Έλ¦¬κ³ νλ‘νλ λμ²΄λ‘ νκ°λ§ μ¬μ©νλ€.
π μ 리
- μ€νλ§μ applicatioin.properties λ¬Έμλ₯Ό μμμ μλλ‘ μμλλ‘ μ½μΌλ©΄μ κ°μ μ€μ νλ€. (κΈ°μ‘΄ κ°μ΄ μλ€λ©΄ λ체νλ€.)
- application.properties λ¬Έμμ spring-config.activate.on-profiles μ΅μ μ΄ μμΌλ©΄ ν΄λΉ νλ‘νμ μ¬μ©ν λλ§ λ Όλ¦¬ λ¬Έμλ₯Ό μ μ©νλ€.
βοΈ μ€νλ§ μΈλΆ μ€μ κ΄λ ¨ μ°μ μμ
μ°μ μμλ μ μ°νλ©΄μ λ²μκ° μ’μ κ²μ΄ μ°μ κΆμ κ°κ²λλ€. (λ± μ§μ ν΄μ λ³κ²½νκΈ° μ΄λ €μ΄ νμΌλ³΄λ€λ μ€ν μ μνλ κ°μ μ€ μ μλ κ²μ΄ λ μ°μ κΆμ κ°κ²λλ©°, μ μ© λ²μκ° λ μ’μ κ²μ΄ μ°μ κΆμ κ°κ² λλ€.)
- μΈλΆ μ€μ κ΄λ ¨ μ°μ μμ
1. @TestPropertySource (ν μ€νΈμμ μ¬μ©νλ κ²μΌλ‘ ν μ€νΈ μ€μ κ°μ λ°λ‘ μ€ μ μλλ‘ νλ μ΄λ Έν μ΄μ )
2. 컀맨λ λΌμΈ μ΅μ μΈμ
3. μλ° μμ€ν μμ±
4. OS νκ²½ λ³μ
5. μ€μ λ°μ΄ν° (application.properties)
-> λ°λΌμ Environmnet κ° μ‘°νν λ μ°μ μμμ λ°λΌ μ°μ μμκ° λ λμ κ²μ λ¨Όμ μ‘°νν΄μ κ°μ μ€μ νλ€.
- μ€μ λ°μ΄ν° κ΄λ ¨ μ°μ μμ
1. jar μΈλΆ νλ‘ν μ μ© νμΌ application-{profile}.properties
2. jar μΈλΆ application.properties
3. jar λ΄λΆ application-{profile}.properties
4. jar λ΄λΆ application.properties
μ€λ¬΄μμλ λ³΄ν΅ application.propertiesμ μ€μ λ°μ΄ν°λ₯Ό 보κ΄νκ³ μ¬μ©νλ€κ° κΈ μμ±μ λ³κ²½ν΄μΌ νλ€κ³ νλ€λ©΄ μ°μ μμλ₯Ό μκ°ν΄μ
μλ° μμ€ν μμ±μ΄λ 컀맨λ λΌμΈ μ΅μ μΈμλ₯Ό μ¬μ©ν΄μ μμ± κ°μ λ체ν΄μ£Όλ©΄ λλ€.
κ·Έλ¦¬κ³ κΈ°λ³ΈμΌλ‘λ jar λ΄λΆμ application.properties λ¬Έμλ₯Ό μ¬μ©νλ€κ° νΉλ³ν νκ²½μμλ μλ° μ€νμμΉμΈ μΈλΆ application.properties λ₯Ό μλ‘ λ§λ€κ³ λ³κ²½ν΄μΌνλ κ°μ λ°μν΄μ μ¬μ©νλ λ°©λ²λ μλ€.
'μΈνλ° > μ€νλ§ λΆνΈ - ν΅μ¬ μ리μ νμ©' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ€νλ§ YAML, @Profile (0) | 2023.05.11 |
---|---|
μ€νλ§ μΈλΆ μ€μ μ¬μ© λ°©λ² (Environment) (0) | 2023.05.11 |
μ€νλ§ μΈλΆ μ€μ λ°©λ² (μΈλΆ λ°μ΄ν°) (0) | 2023.05.09 |
μ€νλ§ μΈλΆ μ€μ λ°©λ² (컀맨λ λΌμΈ μΈμ, 컀맨λ λΌμΈ μ΅μ μΈμ, μ€νλ§ ν΅ν©) (0) | 2023.05.08 |
μ€νλ§ μΈλΆ μ€μ λ°©λ² (OS νκ²½ λ³μ, μλ° μμ€ν μμ±) (0) | 2023.05.04 |