本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Git 同步如何使用 CloudFormation
本主題說明 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 物件表示法 (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 範本和堆疊部署檔案的變更。