

終止支援通知：2026 年 10 月 7 日 AWS 將終止 的支援 AWS Proton。2026 年 10 月 7 日之後，您將無法再存取 AWS Proton 主控台或 AWS Proton 資源。您部署的基礎設施將保持不變。如需詳細資訊，請參閱[AWS Proton 服務棄用和遷移指南](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 範本同步組態
<a name="ag-template-sync-configs"></a>

了解如何設定範本，以便從您定義的已註冊 git 儲存庫中的範本套件進行 AWS Proton 同步。將遞交推送至儲存庫時， 會 AWS Proton 檢查儲存庫範本套件的變更。如果偵測到範本套件變更，則會建立其範本的新次要或主要版本，如果版本尚不存在。 AWS Proton 目前支援 GitHub、GitHub Enterprise 和 BitBucket。

## 將遞交推送至同步範本套件
<a name="ag-commits"></a>

當您將遞交推送至其中一個範本所追蹤的分支時， 會 AWS Proton 複製您的儲存庫，並決定需要同步哪些範本。它會掃描目錄中的檔案，以尋找符合 慣例的目錄`{template-name}/{major-version}/`。

在 AWS Proton 確定哪些範本和主要版本與您的儲存庫和分支相關聯後，它會開始嘗試平行同步所有這些範本。

每次同步到特定範本時， AWS Proton 首先檢查範本目錄的內容自上次成功同步以來是否變更。如果內容未變更， AWS Proton 請略過註冊重複的套件。這可確保在範本套件的內容變更時建立新的範本次要版本。如果範本套件的內容已變更，則會向 註冊套件 AWS Proton。

註冊範本套件之後， 會 AWS Proton 監控註冊狀態，直到註冊完成為止。

在單一指定時間，特定範本次要和主要版本只能發生一次同步。同步進行期間可能已推送的任何遞交都會批次處理。批次遞交會在先前的同步嘗試完成後同步。

## 同步服務範本
<a name="syncing-service-templates"></a>

AWS Proton 可以從 git 儲存庫同步環境和服務範本。若要同步您的服務範本，請將名為 的額外檔案新增至範本套件中的`.template-registration.yaml`每個主要版本目錄。此檔案包含在遞交後為您建立服務範本版本時 AWS Proton 所需的其他詳細資訊：*相容的環境*和*支援的元件來源*。

檔案的完整路徑為 `service-template-name/major-version/.template-registration.yaml`。如需詳細資訊，請參閱[同步服務範本](create-template-sync.md#create-template-sync-service-templates)。

## 範本同步組態考量事項
<a name="sync-considerations"></a>

檢閱下列使用範本同步組態的考量事項。
+ 儲存庫不得超過 250 MB。
+ 若要設定範本同步，請先將儲存庫連結至 AWS Proton。如需詳細資訊，請參閱[建立儲存庫的連結](ag-create-repo.md)。
+ 從同步範本建立新範本版本時，該版本處於 `DRAFT` 狀態。
+ 如果下列其中一項為 true，則會建立新的範本次要版本：
  + 範本套件內容與上次同步範本次要版本的內容不同。
  + 已刪除上次同步的範本次要版本。
+ 同步無法暫停。
+ 新的次要或主要版本都會自動同步。
+ 範本同步組態無法建立新的頂層範本。
+ 您無法從具有範本同步組態的多個儲存庫同步至一個範本。
+ 您無法使用標籤而非分支。
+ 當您[建立服務範本](template-create.md#svc-template-v1)時，您可以指定相容的環境範本。
+ 您可以建立環境範本，並將其新增為相同遞交中服務範本的相容環境。
+ 同步至單一範本主要版本會一次執行一個。在同步期間，如果偵測到任何新的遞交，則會在作用中同步結束時批次處理並套用。同步到不同的範本主要版本會平行進行。
+ 如果您變更範本要同步的分支，則舊分支中任何持續的同步都會先完成。然後，同步會從新的分支開始。
+ 如果您變更範本同步的儲存庫，舊儲存庫中任何進行中的同步都可能會失敗或執行至完成。這取決於他們所在的同步階段。

如需詳細資訊，請參閱[https://docs.aws.amazon.com/proton/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/proton/latest/APIReference/Welcome.html)。

**Topics**
+ [

## 將遞交推送至同步範本套件
](#ag-commits)
+ [

## 同步服務範本
](#syncing-service-templates)
+ [

## 範本同步組態考量事項
](#sync-considerations)
+ [

# 建立範本同步組態
](create-template-sync.md)
+ [

# 檢視範本同步組態詳細資訊
](view-template-sync.md)
+ [

# 編輯範本同步組態
](update-template-sync.md)
+ [

# 刪除範本同步組態
](delete-template-sync.md)

# 建立範本同步組態
<a name="create-template-sync"></a>

了解如何使用 建立範本同步組態 AWS Proton。

**建立範本同步組態先決條件：**
+ 您已[將儲存庫與 連結](ag-create-repo.md) AWS Proton。
+ [範本套件](ag-template-authoring.md#ag-template-bundles)位於您的儲存庫中。

**儲存庫連結包含下列項目：**
+ CodeConnections 連線提供存取儲存庫和訂閱其通知的 AWS Proton 許可。
+ [服務連結角色](using-service-linked-roles.md)。當您連結儲存庫時，系統會為您建立服務連結角色。

建立第一個範本同步組態之前，請將範本套件推送至您的儲存庫，如下列目錄配置所示。

```
 /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 建立新的範本版本。

建立範本同步組態之後，您仍然可以從 S3 儲存貯體上傳範本套件， AWS CLI 在 主控台或使用 手動建立新版本的範本。範本同步只能以一個方向運作：從儲存庫到 AWS Proton。手動建立的範本版本*不會*同步。

設定範本同步組態之後， AWS Proton 請列出儲存庫的變更。每當推送變更時，就會尋找與範本同名的任何目錄。然後，它會在該目錄中尋找任何看起來像主要版本的目錄。 會將範本套件 AWS Proton 註冊到對應的範本主要版本。新版本一律處於 `DRAFT` 狀態。您可以使用 主控台或 [發佈新版本](template-create.md) AWS CLI。

例如，假設您有一個名為 的範本，`my-env-template`其設定為`main`使用以下配置在分支`my-repo/templates`上從 同步。

```
 /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 找到第一個符合範本名稱的目錄。您可以在建立或編輯範本同步組態`subdirectoryPath`時指定 ，以限制目錄 AWS Proton 搜尋。例如，您可以`/production-templates/`為 指定 `subdirectoryPath`。

您可以使用 主控台或 CLI 建立範本同步組態。

------
#### [ AWS 管理主控台 ]

**使用 主控台建立範本和範本同步組態。**

1. 在 [AWS Proton 主控台](https://console.aws.amazon.com//proton/)中，選擇**環境範本**。

1. 選擇**建立環境範本**。

1. 在**建立環境範本**頁面的**範本選項**區段中，選擇**建立範本以佈建新的環境**。

1. 在**範本套件來源**區段中，從 **Git 選擇同步範本**。

1. 在**來源碼儲存庫**區段中：

   1. 針對**儲存庫**，選取包含範本套件的連結儲存庫。

   1. 針對**分支**，選取要從中同步的儲存庫分支。

   1. （選用） 針對**範本套件目錄**，輸入要縮小範本套件搜尋範圍的目錄名稱。

1. 在**範本詳細資訊**區段中。

   1. 輸入**範本名稱**。

   1. （選用） 輸入**範本顯示名稱**。

   1. （選用） 輸入環境範本的範本**描述**。

1. （選用） 勾選加密**設定區段中自訂加密設定的核取方塊 （進階）**，以提供您自己的加密金鑰。 ****

1. （選用） 在**標籤**區段中，選擇**新增標籤**，然後輸入索引鍵和值以建立客戶受管標籤。

1. 選擇**建立環境範本**。

   您現在位於顯示新環境範本狀態和詳細資訊的新頁面。這些詳細資訊包括 AWS 受管和客戶受管標籤的清單。當您建立 AWS Proton 資源時， AWS Proton 會自動為您產生 AWS 受管標籤。如需詳細資訊，請參閱[AWS Proton 資源和標記](resources.md)。

1. 在範本詳細資訊頁面中，選擇**同步**索引標籤以檢視範本同步組態詳細資訊。

1. 選擇**範本版本**索引標籤，以檢視具有狀態詳細資訊的範本版本。

1. 新環境範本狀態的狀態會以**草稿**狀態開始。您和具有`proton:CreateEnvironment`許可的其他人可以檢視和存取它。依照下一個步驟，讓範本可供其他人使用。

1. 在**範本版本**區段中，選擇您剛建立之範本次要版本左側的選項按鈕 (1.0)。或者，您可以在資訊提醒中選擇**發佈**，並略過下一個步驟。

1. 在**範本版本**區段中，選擇**發佈**。

1. 範本狀態會變更為**已發佈**。這是範本的最新和**建議**版本。

1. 在導覽窗格中，選取**環境範本**以檢視環境範本和詳細資訊的清單。

建立服務範本和範本同步組態的程序類似。

------
#### [ AWS CLI ]

**使用 建立範本和範本同步組態 AWS CLI。**

1. 

**建立範本。在此範例中，會建立環境範本。**

   執行下列命令。

   ```
   $ aws proton create-environment-template \
       --name "env-template"
   ```

   回應如下所示。

   ```
   {
       "environmentTemplate": {
           "arn": "arn:aws:proton:us-east-1:123456789012:environment-template/env-template",
           "createdAt": "2021-11-07T23:32:43.045000+00:00",
           "displayName": "env-template",
           "lastModifiedAt": "2021-11-07T23:32:43.045000+00:00",
           "name": "env-template",
           "status": "DRAFT",
           "templateName": "env-template"
       }
   }
   ```

1. 

**透過提供下列項目 AWS CLI ，使用 建立範本同步組態：**
   + 您要同步的範本。建立範本同步組態之後，您仍然可以在 主控台或使用 手動建立新版本 AWS CLI。
   + 範本名稱。
   + 範本類型。
   + 您要從中同步的連結儲存庫。
   + 連結的儲存庫提供者。
   + 範本套件所在的分支。
   + （選用） 包含範本套件的目錄路徑。根據預設， AWS Proton 尋找符合您範本名稱的第一個目錄。

   執行下列命令。

   ```
   $ aws proton create-template-sync-config \
       --template-name "env-template" \
       --template-type "ENVIRONMENT" \
       --repository-name "myrepos/templates" \
       --repository-provider "GITHUB" \
       --branch "main" \
       --subdirectory "env-template/"
   ```

   回應如下所示。

   ```
   {
       "templateSyncConfigDetails": {
           "branch": "main",
           "repositoryName": "myrepos/templates",
           "repositoryProvider": "GITHUB",
           "subdirectory": "templates",
           "templateName": "env-template",
           "templateType": "ENVIRONMENT"
       }
   }
   ```

1. **若要發佈範本版本，請參閱 [註冊和發佈範本](template-create.md)。**

------

## 同步服務範本
<a name="create-template-sync-service-templates"></a>

上述範例示範如何同步環境範本。服務範本類似。若要同步服務範本，請將名為 的額外檔案新增至範本套件中的`.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/instance_infrastructure/      # template bundle
 /templates/my-svc-template/v1/schema/
```

`.template-registration.yaml` 檔案包含下列詳細資訊：
+ **相容的環境** 【必要】 – 以這些環境範本和主要版本為基礎的環境與以此服務範本版本為基礎的 服務相容。
+ **支援的元件來源** 【選用】 – 使用這些來源的元件與基於此服務範本版本的 服務相容。如果未指定，則無法將元件連接至這些服務。如需元件的詳細資訊，請參閱 [AWS Proton 元件](ag-components.md)。

檔案的 YAML 語法如下：

```
compatible_environments:
  - env-templ-name:major-version
  - ...
supported_component_sources:
  - DIRECTLY_DEFINED
```

指定一或多個環境範本/主要版本組合。指定 `supported_component_sources` 是選用的，唯一支援的值是 `DIRECTLY_DEFINED`。

**Example .template-registration.yaml**  
在此範例中，服務範本版本與`my-env-template`環境範本的主要版本 1 和 2 相容。它也與`another-env-template`環境範本的主要版本 1 和 3 相容。檔案未指定 `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 支援該檔案及其格式，以實現回溯相容性。我們不建議使用它，因為它無法擴展，也無法支援較新的功能，例如元件。

# 檢視範本同步組態詳細資訊
<a name="view-template-sync"></a>

使用主控台或 CLI 檢視範本同步組態詳細資訊。

------
#### [ AWS 管理主控台 ]

**使用 主控台檢視範本同步組態詳細資訊。**

1. 在導覽窗格中，選擇 **（環境或服務） 範本**。

1. 若要檢視詳細資訊，請選擇您為其建立範本同步組態的範本名稱。

1. 在範本的詳細資訊頁面中，選取**同步**索引標籤以檢視範本同步組態詳細資訊。

------
#### [ AWS CLI ]

**使用 AWS CLI 檢視同步範本。**

執行下列命令。

```
$ aws proton get-template-sync-config \
    --template-name "svc-template" \
    --template-type "SERVICE"
```

回應如下所示。

```
{
    "templateSyncConfigDetails": {
        "branch": "main",
        "repositoryProvider": "GITHUB",
        "repositoryName": "myrepos/myrepo",
        "subdirectory": "svc-template",
        "templateName": "svc-template",
        "templateType": "SERVICE"
    }
}
```

**使用 AWS CLI 取得範本同步狀態。**

針對 `template-version`，輸入範本主要版本。

執行下列命令。

```
$ aws proton get-template-sync-status \
    --template-name "env-template" \
    --template-type "ENVIRONMENT" \
    --template-version "1"
```

------

# 編輯範本同步組態
<a name="update-template-sync"></a>

您可以編輯 `template-name`和 以外的任何範本同步組態參數`template-type`。

了解如何使用主控台或 CLI 編輯範本同步組態。

------
#### [ AWS 管理主控台 ]

使用 主控台編輯範本同步組態分支。

**在 範本清單中。**

1. 在 [AWS Proton 主控台](https://console.aws.amazon.com//proton/)中，選擇 **（環境或服務） 範本**。

1. 在範本清單中，選擇範本名稱與您要編輯的範本同步組態。

1. 在範本詳細資訊頁面中，選擇**範本同步**索引標籤。

1. 在**範本同步詳細資訊**區段中，選擇**編輯**。

1. 在**編輯**頁面的**來源碼儲存庫**區段中，針對**分支**選取分支，然後選擇**儲存組態**。

------
#### [ AWS CLI ]

**下列範例命令和回應顯示如何使用 `branch`CLI 編輯範本同步組態。**

執行下列命令。

```
$ aws proton update-template-sync-config \
    --template-name "env-template" \
    --template-type "ENVIRONMENT" \
    --repository-provider "GITHUB" \
    --repository-name "myrepos/templates" \
    --branch "fargate" \
    --subdirectory "env-template"
```

回應如下所示。

```
{
    "templateSyncConfigDetails": {
        "branch": "fargate",
        "repositoryProvider": "GITHUB",
        "repositoryName": "myrepos/myrepo",
        "subdirectory": "templates",
        "templateName": "env-template",
        "templateType": "ENVIRONMENT"
    }
}
```

您同樣可以使用 AWS CLI 來更新同步的服務範本。

------

# 刪除範本同步組態
<a name="delete-template-sync"></a>

使用主控台或 CLI 刪除範本同步組態。

------
#### [ AWS 管理主控台 ]

**使用主控台刪除範本同步組態。**

1. 在範本詳細資訊頁面中，選擇**同步**索引標籤。

1. 在**同步詳細資訊**區段中，選擇**中斷連線**。

------
#### [ AWS CLI ]

**下列範例命令和回應示範如何使用 AWS CLI 刪除同步的範本組態。**

執行下列命令。

```
$ aws proton delete-template-sync-config \
    --template-name "env-template" \
    --template-type "ENVIRONMENT"
```

回應如下所示。

```
{
    "templateSyncConfig": {
        "templateName": "env-template",
        "templateType": "ENVIRONMENT"
    }
}
```

------