本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立範本同步設定
了解如何建立範本同步組態設定範本同步組態AWS Proton。
儲存庫連結包含下列項目:
-
一個 AWS CodeStar 連接連接,給AWS Proton存取儲存庫並訂閱其通知的權限。
-
一個服務連結角色。當您連結儲存庫時,系統會為您建立服務連結角色。
在您建立第一個範本同步組態之前,請將範本組合包推送至您的儲存庫,如下列目錄配置所示。
/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/
建立第一個範本同步設定之後,當您推送提交 (在新版本下新增更新的範本組合包) 時,系統會自動建立新範本版本 (例如,/my-env-template/v2/
。
/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/
您可以在單次提交中包含一個或多個同步配置的範本的新範本套件版本。AWS Proton為提交中包含的每個新模板包版本創建一個新的模板版本。
建立範本同步設定之後,您仍然可以在主控台中手動建立範本的新版本,或使用AWS CLI從 S3 儲存貯體上傳範本組合包。範本同步只能在一個方向上運作:從儲存庫到AWS Proton。手動建立的範本版本不是已同步。
設定範本同步設定之後,AWS Proton偵聽儲存庫的變更。每當推送變更時,都會尋找與範本名稱相同的任何目錄。然後,它會在該目錄中查找看起來像主要版本的任何目錄。AWS Proton將範本套裝軟體註冊到對應的範本主要版本。新版本總是在DRAFT
狀態。您可以發佈新版本使用主控台或AWS CLI。
例如,假設您有一個叫做的範本呼叫範本my-env-template
設定為同步來源my-repo/templates
在分支機構上main
具有以下佈局。
/code /code/service.go README.md /templates/ /templates/my-env-template/ /templates/my-env-template/v1/ /templates/my-env-template/v1/infrastructure/ /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/
AWS Proton同步的內容/templates/my-env-template/v1/
至my-env-template:1
和內容/templates/my-env-template/v2/
至my-env-template:2
。如果它們不存在,則會建立這些主要版本。
AWS Proton找到符合範本名稱的第一個目錄。您可以限制目錄AWS Proton透過指定搜尋subdirectoryPath
當您建立或編輯範本同步組態時。例如,您可以指定/production-templates/
為了subdirectoryPath
。
您可以使用主控台或 CLI 建立範本同步組態。
同步服務範本
上述範例示範如何同步環境範本同步環境範本。服務範本是相似的。若要同步服務範本,請新增名為的其他檔案.template-registration.yaml
到模板包中的每個主要版本目錄。此檔案包含其他詳細資訊AWS Proton在提交後為您創建服務模板版本時需要。當您使用明確建立服務範本版本版本版本AWS Proton控制台或 API,您提供這些詳細信息作為輸入,並且此文件將替換這些輸入以進行模板同步。
./templates/ # subdirectory (optional) /templates/my-svc-template/ # service template name /templates/my-svc-template/v1/ # service template version /templates/my-svc-template/v1/.template-registration.yaml # service template version properties /templates/my-svc-template/v1/infrastructure/ # template bundle /templates/my-svc-template/v1/schema/
所以此.template-registration.yaml
檔案包含下列詳細資訊:
-
相容環境[必要] — 以這些環境範本和主要版本為基礎的環境與以此服務範本版本為基礎的服務相容。
-
支援的元件來源[選用] — 使用這些來源的元件與以此服務範本版本為基礎的服務相容。如果未指定,則無法將組件附加到這些服務。如需的詳細資訊,請參閱AWS Proton 元件。
檔案的 YAML 語法如下所示:
compatible_environments: -
env-templ-name
:major-version
- ... supported_component_sources: - DIRECTLY_DEFINED
指定一或多個環境範本/主要版本組合。指定supported_component_sources
是選用的,僅支援的值為DIRECTLY_DEFINED
。
範例 . 模板註冊.
在這個例子中,服務模板版本與主要版本 1 和 2 兼容my-env-template
環境範本。它也與主要版本的 1 和 3 兼容another-env-template
環境範本。該文件沒有指定supported_component_sources
,因此組件無法附加到基於此服務模板版本的服務。
compatible_environments: - my-env-template:1 - my-env-template:2 - another-env-template:1 - another-env-template:3
先前,AWS Proton定義了不同的檔案,.compatible-envs
,用於指定相容的環境。AWS Proton仍然支持該文件及其格式以實現向後兼容性。我們不建議再使用它,因為它不可擴展,也無法支持更新的功能,如組件。