Spring Cloud雲架構-Config Git後端

springcloud885發表於2019-02-28

EnvironmentRepository的預設實現使用Git後端,這對於管理升級和物理環境以及稽核更改非常方便。要更改儲存庫的位置,可以在Config Server中設定“spring.cloud.config.server.git.uri”配置屬性(例如application.yml)。如果您使用file:字首進行設定,則應從本地儲存庫中工作,以便在沒有伺服器的情況下快速方便地啟動,但在這種情況下,伺服器將直接在本地儲存庫上進行操作,而不會克隆如果它不是裸機,因為配置伺服器永遠不會更改“遠端”資源庫)。要擴充套件Config Server並使其高度可用,您需要將伺服器的所有例項指向同一個儲存庫,因此只有共享檔案系統才能正常工作。即使在這種情況下,最好使用共享檔案系統儲存庫的ssh:協議,以便伺服器可以將其克隆並使用本地工作副本作為快取。願意瞭解原始碼的朋友直接求求交流分享技術一七九一七四三三八零

該儲存庫實現將HTTP資源的{label}引數對映到git標籤(提交ID,分支名稱或標籤)。如果git分支或標籤名稱包含斜槓(“/”),則應使用特殊字串“()”指定HTTP URL中的標籤,以避免與其他URL路徑模糊。例如,如果標籤為foo/bar,則替換斜槓將導致標籤看起來像foo()bar。如果您使用像curl這樣的命令列客戶端(例如使用引號將其從shell中轉出來),請小心URL中的方括號。

Git URI中的佔位符

Spring Cloud Config伺服器支援一個Git倉庫URL,其中包含{application}和{profile}(以及{label})的佔位符,如果需要,請記住標籤應用為git標籤)。因此,您可以使用(例如)輕鬆支援“每個應用程式的一個repo”策略:

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/myorg/{application}
複製程式碼

或使用類似模式但使用{profile}的“每個配置檔案一個”策略。

相關文章