在Pivotal Cloud Foundry中,有一種方法可以讓一個Manifest.yml在不同環境下具有不同的環境變量。例如我們有一個開發/測試/生產環境。在系統中我想要一個環境變量「service = development.pcf.domain.com」,在測試中它應該是「service = test.pcf.domain.com」。如何在一個清單文件中爲不同環境設置Pivotal Cloud Foundry環境變量?
我想維護一個文件並在一個清單中包含所有環境變量,而不必記住每個環境要傳遞哪個清單文件。
換句話說,我不想要有3個文件:
manifest_development.yml
-env: url=development.pcf.domain.com
manifest_test.yml
-env: url=test.pcf.domain.com
manifest_production.yml
-env: url=production.pcf.domain.com
我寧願有1個文件,它定義了所有的環境變量和正確的應該根據應用程序的環境中進行挑選部署:
manifest.yml:
env-development:
-url=development.pcf.domain.com
env-test:
-url=test.pcf.domain.com
env-production:
-url=production.pcf.domain.com
謝謝你會檢查出來。我們的組織剛剛從pcf開始,並向我解釋了他們需要做的一些工作,以便我們能夠註冊我們的服務。當發生這種情況時,我同意將該服務作爲服務參數傳遞。不幸的是還有其他一些情況,我不得不在pcf之外調用尚未轉換的遺留服務。 – George
我可能會誤解一件事。看起來我必須爲每個環境使用不同的應用程序名稱?這似乎是一個壞主意,因爲每一個調用我的微服務的應用程序都必須知道當前環境的服務名稱。 – George
Hi @George 不,您需要在場景中爲每個環境設置提供(cf push -f)不同的應用程序清單文件。 您的應用程序名稱和所有常見設置都可以保存在base-manifest.yml中,這在所有環境中都是常見的,並且可以在每個環境清單中繼承。 我希望有幫助。 –