將產品同步到來自 GitHub GitHub 企業或 Bitbucket 的範本檔案 - AWS Service Catalog

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

將產品同步到來自 GitHub GitHub 企業或 Bitbucket 的範本檔案

AWS Service Catalog 可讓您將產品同步至透過外部存放庫提供者管理的範本檔案。 AWS Service Catalog 將具有此類範本連線的產品稱為 GIT 同步產品。儲存庫選項包括 GitHub「 GitHub 企業」或「比特桶」。 AWS 帳戶 使用外部存放庫帳戶授權後,您可以建立新 AWS Service Catalog 產品或更新現有產品,以同步至儲存庫中的範本檔案。對範本檔案進行變更並在儲存庫中提交 (例如,使用 git-push) 時, AWS Service Catalog 會自動偵測變更並建立新的產品版本 (成品)。

將產品同步至外部範本檔案所需的權限

您可以使用下列 AWS Identity and Access Management (IAM) 政策做為範本,讓 AWS Service Catalog 管理員能夠將產品同步到外部存放庫中的範本檔案。此原則包含 CodeConnections 和所需的權限 AWS Service Catalog。 AWS Service Catalog 建議您複製下列範本原則,並在啟用儲存庫同步產品時使用 AWS Service Catalog AWSServiceCatalogAdminFullAccess受管理的策略

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeStarAccess", "Effect": "Allow", "Action": [ "codestar-connections:UseConnection", "codestar-connections:PassConnection", "codestar-connections:CreateConnection", "codestar-connections:DeleteConnection", "codestar-connections:GetConnection", "codestar-connections:ListConnections", "codestar-connections:ListInstallationTargets", "codestar-connections:GetInstallationUrl", "codestar-connections:StartOAuthHandshake", "codestar-connections:UpdateConnectionInstallation", "codestar-connections:GetIndividualAccessToken" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*" }, { "Sid": "CreateSLR", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/sync.servicecatalog.amazonaws.com/AWSServiceRoleForServiceCatalogArtifactSync", "Condition": { "StringLike": { "iam:AWSServiceName": "sync.servicecatalog.amazonaws.com" } } } ] }

建立帳戶連線

將範本檔案同步至 AWS Service Catalog 產品之前,您必須先建立並授權一次性 account-to-account 連線。您可以使用此連線來指定包含所需範本檔案的存放庫詳細資訊。您可以使用 AWS Service Catalog 主控台、主控 CodeConnections 台 AWS Command Line Interface (CLI) 或 CodeConnections API 建立連線。

建立連線後,您可以使用 AWS Service Catalog 主控台、 AWS Service Catalog API 或 CLI 建立同步的 AWS Service Catalog 產品。 AWS Service Catalog 管理員可以根據存放庫和分支中的範本檔案來建立新 AWS Service Catalog 產品或更新現有產品。如果存放庫中已提交變更,則 AWS Service Catalog 會自動偵測變更並建立新的產品版本。先前的產品版本會維持在規定的版本限制內,並指派已取代狀態。

此外,在建立連線之後, AWS Service Catalog 會自動建立服務連結角色 (SLR)。此 SLR 允許檢測提交 AWS Service Catalog 到存儲庫的任何模板文件更改。SLR 還允許自動 AWS Service Catalog 為同步產品創建新的產品版本。如需 SLR 權限和功能的詳細資訊,請參閱的服務連結角色。 AWS Service Catalog

若要建立新的 GIT 同步產品
  1. 在左側導覽面板中,選擇 [產品清單],然後選擇 [建立產品]。

  2. 輸入產品詳細資訊

  3. 在 [版本詳細資料] 中,選擇 [使用 AWS CodeStar 提供者指定您的程式碼儲存庫],然後選擇 [建立新的 AWS CodeStar 連線] 連結。

  4. 建立連線之後,請重新整理連線清單,然後選取新的連線。指定存放庫詳細資訊,包括存放庫分支範本檔案路徑

    如需有關使用 Terraform 組態檔案的資訊,請參閱。將地形產品同步到來自 GitHub GitHub 企業或 Bitbucket 的範本檔案

    1. (建立新 AWS Service Catalog 產品資源時選用) 在「Sup port 詳細資料」區段中,新增產品的中繼資料。

    2. (建立新 AWS Service Catalog 產品資源時選擇性) 在「」區段中,選擇「新增標籤」,然後輸入「金鑰」和「」配對。

  5. 選擇 [建立新產品]。

若要建立多個 GIT 同步產品
  1. 在 AWS Service Catalog 主控台左側導覽面板中,選擇 [產品清單],然後選擇 [建立多個由 Git 管理的產品]。

  2. 輸入「一般產品」詳細資訊

  3. 在外部存放庫詳細資訊中,選取AWS CodeStar 連線,然後指定存放庫分支

  4. 在「新增產品」窗格中,輸入「範本檔案路徑」和「產品名稱」。選擇 [新增項目],然後視需要繼續新增產品。

  5. 新增所有需要的產品後,選擇「大量建立產品」。

若要將現有 AWS Service Catalog 產品連線至外部存放庫
  1. 在 AWS Service Catalog 主控台左側導覽面板中,選擇 [產品清單],然後選擇 [將產品 Connect 至外部存放庫]。

  2. 在 [選取產品] 頁面上,選取您要連線至外部儲存庫的產品,然後選擇 [下一步]。

  3. 在 [指定來源詳細資訊] 頁面上,選取現有的 AWS CodeStar 連線,然後指定存放庫分支範本檔案路徑

  4. 選擇下一步

  5. 在「檢閱並提交」頁面上,確認連線詳細資訊,然後選擇「將產品連線至外部儲存庫」。

查看與 GIT 同步的產品連接

您可以使用主 AWS Service Catalog 控台、API 或 AWS CLI 檢視存放庫連線詳細資料。對於連結至範本檔案的產 AWS Service Catalog 品,您可以從「上次同步狀態」擷取有關儲存庫連線以及範本上次與產品同步的時間資訊。

注意

您可以在產品層級檢視儲存庫資訊和上次同步狀態。使用者必須在 CodeConnections API 中擁有 IAM 許可,才能檢視儲存庫詳細資料。如需有關這些 IAM 許可所需政策的詳細資訊,請參閱將 AWS Service Catalog 產品同步到範本檔案的所需權限。

若要檢視連線和儲存庫詳細資訊, AWS Management Console
  1. 在左側導覽面板中,選擇 [產品清單]。

  2. 從清單中選取產品。

  3. 在「產品」頁面上,瀏覽至「產品來源詳細資料」區段。

  4. 若要檢視產品版本的來源修訂 ID,請選擇「上次建立版本」連結。「版本詳細資訊」區段會顯示來源修訂 ID。

若要檢視連線和儲存庫詳細資訊, AWS CLI

從中 AWS CLI,執行下列命令:

$ aws servicecatalog describe-product-as-admin

$ aws servicecatalog describe-provisioning-artifact

$ aws servicecatalog search-product-as-admin

$ aws servicecatalog list-provisioning-artifacts

更新 GIT 同步的產品連接

您可以使用 AWS Service Catalog 主控台、 AWS Service Catalog API 或更新現有帳戶連線和 GIT 同步產品。 AWS CLI

要了解如何將現有 AWS Service Catalog 產品連接到模板文件,請參閱創建新的 GIT 同步產品連接。

將現有產品更新為 GIT 同步產品
  1. 在左側導覽面板中,選擇 [產品清單],然後選擇下列其中一個選項:

    • 若要更新單一產品,請選取該產品,瀏覽至「產品來源詳細資料」區段,然後選擇「編輯詳細資料」。

    • 若要更新多個產品,請選擇「將產品連線至外部儲存庫」,最多選取十個產品,然後選擇「下一步」。

  2. 在「產品來源詳細資料」區段中,執行下列更新:

    • 指定連接。

    • 指定存放庫。

    • 指定分支。

    • 命名範本檔案。

  3. 選擇儲存變更

注意

對於尚未連 Connect 至外部存放庫的產品,您可以在選取產品後,使用產品資訊頁面頂端警示中顯示的「連線至外部存放庫」選項。

您也可以使用 AWS Service Catalog 控制台或 AWS CLI

  • 將現有 AWS Service Catalog 產品 Connect 至外部存放庫中的範本檔案

  • 更新產品中繼資料,包括產品名稱、說明和標籤。

  • 為先前連線的 AWS Service Catalog 產品重新設定 (更新同步以使用不同的存放庫來源) 連線。

使用 AWS Service Catalog 控制台更新連接和存儲庫詳細信息
  1. 在 AWS Service Catalog 主控台左側導覽面板中,選擇 [產品清單],然後選取目前連線至外部存放庫的產品。

  2. 在「產品來源詳細資料」區段中選擇 「編輯產品來源」。

  3. 在「產品來源詳細資料」區段中,指定新的所需儲存庫。

  4. 選擇儲存變更

若要更新連線和儲存庫詳細資訊, AWS CLI

從運 AWS CLI 行$ aws servicecatalog update-product$ aws servicecatalog update-provisioning-artifact命令。

刪除與 GIT 同步的產品連線

您可以使用 AWS Service Catalog 主控台、 CodeConnections API 或刪除 AWS Service Catalog 產品與範本檔案之間的連線 AWS CLI。當您中斷產品與範本檔案的連線時,同步的 AWS Service Catalog 產品會切換至定期受管理的產品。中斷產品連線後,如果範本檔案在先前連線的儲存庫中發生變更並認可,變更會反映出來。若要將 AWS Service Catalog 產品重新連線至外部儲存庫中的範本檔案,請參閱更新連線和同步的產 AWS Service Catalog 品

使用控制台中斷與 GIT 同步的產品的連接 AWS Service Catalog
  1. 在中 AWS Management Console,從左側導覽面板中選擇「產品清單」。

  2. 從清單中選取產品。

  3. 在「產品」頁面上,瀏覽至「產品來源詳細資料」區段。

  4. 選擇中斷連線

  5. 確認動作,然後選擇 [中斷連線]。

若要使用中斷與 GIT 同步的產品連線 AWS CLI

從中 AWS CLI,執行命$ aws servicecatalog update-product令。在ConnectionParameters輸入中,刪除指定的連接。

若要使用 CodeConnections API 刪除連線,或 AWS CLI

在 CodeConnections API 中 AWS CLI,或執行命$ aws codestar-connections delete-connection令。

將地形產品同步到來自 GitHub GitHub 企業或 Bitbucket 的範本檔案

使用 Terraform 設定檔建立 GIT 同步產品時,檔案路徑僅接受 tar.gz 格式。檔案路徑中不接受 Terraform 資料夾格式。