Git 同步的運作方式 - AWS CloudFormation

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

Git 同步的運作方式

本主題說明 Git 同步的運作方式,並介紹使用它所需的關鍵概念。

Git 同步的運作方式

若要使用 Git 同步,您必須先 CloudFormation 使用 CodeConnections服務將 Git 供應商連線至 。在本指南的程序中,透過 CodeConnections 主控台建立連線。或者,您可以建立與 的連線 AWS CLI。您可以使用下列任何 Git 提供者:

接下來,您可以建立 CloudFormation 範本來定義堆疊並將其新增至儲存庫。此範本檔案受監控。當變更對其遞交時, 會自動 CloudFormation 更新堆疊。

在 CloudFormation 主控台中,您可以建立新的堆疊,然後選擇從 Git 同步,以告知 CloudFormation 使用 Git 同步。您將指定 CloudFormation 要監控的儲存庫和分支,並在儲存庫中指定定義堆疊的 CloudFormation 範本。

在設定過程中,您可以從儲存庫提供自己的堆疊部署檔案,也可以讓 Git 同步為您生成一個檔案。堆疊部署檔案包含設定堆疊中資源的參數和值。此堆疊部署檔案受監控。當變更被提交至堆疊時, 會自動 CloudFormation 更新堆疊。

Git 同步會在您的儲存庫中建立提取請求,以將堆疊與 CloudFormation範本檔案和堆疊部署檔案同步。如果 Git 同步為您生成堆疊部署檔案,則檔案會透過 Git 同步提交到您的儲存庫。

然後,您將提取請求合併到儲存庫,以便 CloudFormation 佈建堆疊、使用部署參數進行設定,並開始監控儲存庫是否有變更。

從那時起,每當您變更範本檔案或堆疊部署檔案並將其遞交至儲存庫時, CloudFormation 都會自動偵測變更。如果您的團隊使用提取請求,則您的團隊成員可以在部署變更之前對其進行檢閱和核准。接受提取請求後, 會 CloudFormation 部署您的變更。

您可以監控堆疊的 Git 同步組態狀態,並在 CloudFormation 主控台中查看套用至堆疊的遞交歷史記錄。主控台也提供重新設定 Git 同步和疑難排解問題的工具。

提取請求的註解

您可以選擇透過 CodeConnections 服務在提取請求中 CloudFormation 建立程式碼變更的摘要,方法是在主控台中開啟對提取請求啟用評論選項。提供提取請求中變更的摘要意味著團隊成員可以在合併提取請求之前輕鬆檢閱和了解提議修改的影響。如需詳細資訊,請參閱 CloudFormation 可在提取要求中張貼堆疊變更摘要

堆疊部署檔案

堆疊部署檔案是 JavaScript Object Notation (JSON) 或YAML標準格式化檔案,其中包含管理 CloudFormation 堆疊的參數和值。它受到是否有任何變更的監控。當檔案的變更遞交至儲存庫時,關聯的堆疊會自動更新。

堆疊部署檔案包含鍵值組及兩部字典:

  • template-file-path

    這是 CloudFormation 範本檔案的完整儲存庫路徑。範本檔案會宣告與此部署檔案相關聯的 CloudFormation 堆疊資源。

  • parameters

    參數字典包含堆疊中設定資源的鍵值組。堆疊部署檔案最多可以有 50 個參數。

  • tags

    標籤字典包含選用鍵值組,您可以用來識別和分類堆疊中的資源。堆疊部署檔案最多可以有 50 個標籤。

您可以提供自己的堆疊部署檔案,或讓 Git 同步為您建立一個檔案,然後自動將提取要求提交至您的儲存庫。您可以透過編輯堆疊部署檔案並將變更遞交至儲存庫的方式來管理參數和標籤。

以下是 Git 同步堆疊部署檔案的範例:

template-file-path: ./fargate-srvc/my-stack-template.yaml parameters: image: public.ecr.aws/lts/nginx:latest task_size: x-small max_capacity: 5 port: 8080 env: production tags: cost-center: '123456' org: 'AWS'

CloudFormation 範本檔案

範本檔案包含組成 CloudFormation堆疊 AWS 的資源宣告。運用 Git 同步,範本檔案會儲存在 Git 儲存庫中,並由堆疊部署檔案參照。您可以透過編輯範本檔案並將變更遞交至儲存庫的方式來管理堆疊。

如需詳細資訊,請參閱使用 CloudFormation 範本

範本定義儲存庫

範本定義儲存庫是透過 Git 同步連結至 CloudFormation 的 Git 儲存庫。會監控儲存庫對 CloudFormation 範本和堆疊部署檔案的變更。當您遞交對檔案的變更時,關聯的堆疊會自動更新。

重要

當您在 Git 同步主控台中設定範本定義儲存庫時,請從 Git 連線選取正確的儲存庫分支。Git 同步只會監控已設定的儲存庫和分支是否有 CloudFormation 範本和堆疊部署檔案的變更。