遇到這樣一個問題,在開發、測試、生成環境之間切換的問題。
大多數的操作是通過修改spring.profiles.active來確定指向使用的環境配置文件,對應項目中需要增加對應的配置文件。
但是現在幾乎所有公司都會有代碼管理不管是SVN、git,這樣就會涉及到共同開發、維護問題。
對于共同開發、維護就會有沖突的現象。
對于這種情況,我自身解決是,對于開發環境由團隊每個成員在自己本地維護起來,測試、生產使用nacos。后器提交代碼時在對開發配置進行追加維護。
例如:
spring:application:name: coc-ctnr-outdoor-locprofiles:active: devservlet:multipart:max-file-size: 8MB
jasypt:encryptor:password: f0d15ddc
--- #用于分隔不同的profiles文檔塊
spring:profiles: testcloud:nacos:discovery:server-addr: 172.16.18.227:8848username: nacospassword: nacosservice: coc-ctnr-outdoor-locnamespace: 5f8e2d00-7155-4442-829c-d7d8e67e10c7config:server-addr: 172.16.18.227:8848file-extension: ymlname: applicationgroup: coc-ctnr-outdoor-locnamespace: 5f8e2d00-7155-4442-829c-d7d8e67e10c7username: nacospassword: nacos--- #用于分隔不同的profiles文檔塊
spring:profiles: prodcloud:nacos:discovery:server-addr: 10.79.10.74:8848,10.79.10.75:8848,10.79.10.76:8848username: nacospassword: ENC(AKVcAJfENwwR1Fj4pNg1wHLePfpQq6qC)service: COC-CTNR-OUTDOOR-LOCnamespace: cic-groupconfig:server-addr: 10.79.10.74:8848,10.79.10.75:8848,10.79.10.76:8848file-extension: ymlname: applicationgroup: COC-CTNR-OUTDOOR-LOCnamespace: cic-groupusername: nacospassword: ENC(AKVcAJfENwwR1Fj4pNg1wHLePfpQq6qC)
上面配置中重點關注的使用方法:
spring:profiles: test
開發本地就單獨配置一下dev就行
在nacos上維護測試、生產。
這里需要注意的是nacos命名空間的問題,
通常使用的是默認的空間,在程序配置文件中不需要指定nacos的namespace,如果使用自己創建的命名空間了,需要配置自己指定的空間,并且不能用自己創建空間的字符串,需要使用nacos給出的
命名空間ID。
寫的比較亂 就是自己記錄下,各位看官,請甄別食用。食用方法結合自身情況。