将产品同步到 GitHub、 GitHub 企业版或 Bitbucket 中的模板文件 - Amazon Service Catalog
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将产品同步到 GitHub、 GitHub 企业版或 Bitbucket 中的模板文件

Amazon Service Catalog 允许您将产品同步到通过外部存储库提供商管理的模板文件。 Amazon Service Catalog 将具有此类模板连接的产品称为 Git 同步产品。存储库选项包括 GitHub “ GitHub 企业版” 或 “Bitbucket”。 Amazon Web Services 账户 使用外部存储库帐户授权后,您可以创建新 Amazon Service Catalog 产品或更新现有产品以同步到存储库中的模板文件。当对模板文件进行更改并提交到存储库中时(例如,使用 git-push), Amazon Service Catalog 会自动检测更改并创建新的产品版本(构件)。

将产品同步至外部模板文件所需权限

您可以使用以下 Amazon Identity and Access Management (IAM) 策略作为模板,使 Amazon Service Catalog 管理员能够将产品同步到外部存储库中的模板文件。此策略包括 CodeConnections 和的必需权限 Amazon Service Catalog。 Amazon Service Catalog 建议您复制下面的模板策略,并在启用存储库同步产品时也使用 Amazon 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" } } } ] }

创建账户连接

在将模板文件同步到 Amazon Service Catalog 产品之前,必须创建并授权一次性 account-to-account 连接。您可以使用此连接来指定包含所需模板文件的存储库的详细信息。您可以使用 Amazon Service Catalog 控制台、控制 CodeConnections 台、 Amazon Command Line Interface (CLI) 或 CodeConnections API 创建连接。

建立连接后,您可以使用 Amazon Service Catalog 控制台、 Amazon Service Catalog API 或 CLI 来创建同步 Amazon Service Catalog 产品。 Amazon Service Catalog 管理员可以根据存储库和分支中的模板文件创建新 Amazon Service Catalog 产品或更新现有产品。如果在存储库中提交了更改,则 Amazon Service Catalog 会自动检测更改并创建新的产品版本。先前产品版本仍然不可超过规定的版本限制,并被指定为已弃用状态。

此外,在创建连接后 Amazon Service Catalog 自动创建服务相关角色 (SLR)。此 SLR 允许 Amazon Service Catalog 检测提交到存储库的任何模板文件更改。单反相机还 Amazon Service Catalog 允许自动为同步产品创建新的产品版本。有关 SLR 权限和功能的更多信息,请参阅 Amazon Service Catalog的服务相关角色

要创建新的 Git 同步产品
  1. 在左侧导航面板中,选择产品列表,然后选择创建产品

  2. 输入产品详细信息

  3. 在 “版本详细信息” 中,选择 “使用 AWS CodeStar 提供程序指定您的代码存储库”,然后选择 “创建新 AWS CodeStar 连接” 链接。

  4. 创建连接后,刷新连接列表,然后选择新连接。指定存储库详细信息,包括存储库分支模板文件路径

    有关使用 Terraform 配置文件的更多信息,请参阅 将 Terraform 产品同步到来自 GitHub、Enterpr GitHub ise 或 Bitbucket 的模板文件

    1. (创建新 Amazon Service Catalog 产品资源时可选)在 Suppor t Det ails 部分,添加产品的元数据。

    2. (创建新 Amazon Service Catalog 产品资源时可选)在 “标签” 部分,选择 “添加新标签”,然后输入 “密钥” 和 “” 对。

  5. 选择创建新产品

要创建多个 Git 同步产品
  1. 在 Amazon Service Catalog 控制台左侧导航面板中,选择产品列表,然后选择创建多个 git 托管产品

  2. 输入通用产品详细信息

  3. 在外部存储库详细信息中,选择一个 AWS CodeStar 连接,然后指定存储库分支

  4. 在“添加产品”窗格中,输入模板文件路径产品名称。选择添加新项目,然后根据需要继续添加产品。

  5. 添加所有所需产品后,选择批量创建产品

将现有 Amazon Service Catalog 产品连接到外部存储库
  1. 在 Amazon Service Catalog 控制台左侧导航面板中,选择 “产品列表”,然后选择 “将产品连接到外部存储库”。

  2. 在选择产品页面上,选择要连接到外部存储库的产品,然后选择下一步

  3. 在 “指定源详细信息” 页面上,选择现有 AWS CodeStar 连接,然后指定存储库分支模板文件路径

  4. 选择下一步

  5. 在查看并提交页面上,验证连接详细信息,然后选择将产品连接到外部存储库

查看 Git 同步产品连接

您可以使用 Amazon Service Catalog 控制台、API 或 Amazon CLI 来查看存储库连接的详细信息。对于链接到模板文件的 Amazon Service Catalog 产品,您可以从 “上次同步状态” 中检索有关存储库连接以及模板上次与产品同步的时间的信息。

注意

您可以在产品级别查看存储库信息和上次同步状态。用户必须拥有 CodeConnections API 中的 IAM 权限才能查看存储库的详细信息。有关这些 IAM 权限所需策略的更多信息,请参阅将 Amazon Service Catalog 产品同步到模板文件所需的权限。

要查看连接和存储库的详细信息,请使用 Amazon Web Services Management Console
  1. 从左侧导航面板中,选择产品列表

  2. 从列表中选择产品。

  3. 产品页面上,导航至产品源详细信息部分。

  4. 要查看产品版本的源代码修订 ID,请选择上次创建的版本链接。版本详细信息部分显示源代码修订 ID。

要查看连接和存储库的详细信息,请使用 Amazon CLI

从中 Amazon CLI,运行以下命令:

$ aws servicecatalog describe-product-as-admin

$ aws servicecatalog describe-provisioning-artifact

$ aws servicecatalog search-product-as-admin

$ aws servicecatalog list-provisioning-artifacts

更新 Git 同步产品连接

您可以使用 Amazon Service Catalog 控制台、 Amazon Service Catalog API 或更新现有账户连接和 Git 同步产品。 Amazon CLI

要了解如何将现有 Amazon Service Catalog 产品连接到模板文件,请参阅创建新的 Git 同步产品连接。

要将现有产品更新为 Git 同步产品
  1. 在左侧的导航面板中,选择产品列表,然后选择以下选项之一:

    • 要更新单个产品,请选择该产品,导航至产品源详细信息部分,然后选择编辑详细信息

    • 要更新多个产品,请选择将产品连接到外部存储库,选择最多十个产品,然后选择下一步

  2. 产品源详细信息部分,执行以下更新:

    • 指定连接。

    • 指定存储库。

    • 指定分支。

    • 命名模板文件。

  3. 选择保存更改

注意

对于尚未连接到外部存储库的产品,您可以在选择产品后使用产品信息页面顶部的提醒中显示的连接到外部存储库选项。

你也可以使用 Amazon Service Catalog 控制台 Amazon CLI 或

  • 将现有 Amazon Service Catalog 产品连接到外部存储库中的模板文件

  • 更新产品元数据,包括产品名称、描述和标签。

  • 重新配置(更新同步以使用其他存储库来源)先前连接 Amazon Service Catalog 产品的连接。

使用 Amazon Service Catalog 控制台更新连接和存储库详细信息
  1. 在 Amazon Service Catalog 控制台左侧导航面板中,选择产品列表,然后选择当前连接到外部存储库的产品。

  2. 产品源详细信息部分,选择编辑产品源

  3. 产品源详细信息部分,指定新的所需存储库。

  4. 选择 ‬保存更改

要更新连接和存储库的详细信息,请使用 Amazon CLI

从中 Amazon CLI 运行$ aws servicecatalog update-product$ aws servicecatalog update-provisioning-artifact命令。

删除 Git 同步产品连接

您可以使用 Amazon Service Catalog 控制台、 CodeConnections API 或删除 Amazon Service Catalog 产品与模板文件之间的连接 Amazon CLI。当您断开产品与模板文件的连接时,已同步 Amazon Service Catalog 的产品会切换到常规管理的产品。断开产品连接后,如果模板文件更改并提交到先前连接的存储库中,则这些更改不会反映出来。要将 Amazon Service Catalog 产品重新连接到外部存储库中的模板文件,请参阅更新连接和同步 Amazon Service Catalog产品。

使用控制台断开 Git 同步产品的连接 Amazon Service Catalog
  1. 在中 Amazon Web Services Management Console,从左侧导航面板中选择产品列表

  2. 从列表中选择产品。

  3. 产品页面上,导航至产品源详细信息部分。

  4. 选择断开连接

  5. 确认操作,然后选择断开连接

要断开 Git 同步产品的连接,请使用 Amazon CLI

从中 Amazon CLI,运行$ aws servicecatalog update-product命令。在 ConnectionParameters 输入中,移除指定的连接。

要使用 CodeConnections API 删除连接或 Amazon CLI

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

将 Terraform 产品同步到来自 GitHub、Enterpr GitHub ise 或 Bitbucket 的模板文件

使用 Terraform 配置文件创建 Git 同步产品时,文件路径仅接受 tar.gz 格式。在文件路径中不能接受 Terraform 文件夹格式。