GitHub 连接
您可以使用连接授权和建立一些配置,将您的第三方提供方与 AWS 资源相关联。
注意
此功能在亚太地区(香港)、亚太地区(海得拉巴)、亚太地区(雅加达)、亚太地区(墨尔本)、亚太地区(大阪)、非洲(开普敦)、中东(巴林)、中东(阿联酋)、欧洲(西班牙)、欧洲(苏黎世)、以色列(特拉维夫)或 AWS GovCloud(美国西部)区域不可用。要参考其他可用操作,请参阅 与 CodePipeline 的产品和服务集成。有关在欧洲地区(米兰)区域使用此操作的注意事项,请参阅CodeStarSourceConnection(适用于 Bitbucket Cloud, GitHub、GitHub Enterprise Server、GitLab.com 和 GitLab 自托管操作)中的说明。
要在 CodePipeline 中为 GitHub 或 GitHub Enterprise Cloud 存储库添加源操作,您可以选择以下任一操作:
-
使用 CodePipeline 控制台创建管道向导或编辑操作页面,选择 GitHub(版本 2)提供方选项。参阅创建到 GitHub Enterprise Server 的连接(控制台)以添加操作。控制台可帮助您创建连接资源。
注意
有关如何添加 GitHub 连接并在管道中使用完整克隆选项克隆元数据的教程,请参阅教程:对 GitHub 管道源使用完整克隆。
-
使用 CLI,通过创建管道(CLI) 中所示的步骤,添加提供方为
GitHub
的CodeStarSourceConnection
操作的操作配置。
注意
您也可以使用开发人员工具控制台,在设置下创建连接。参阅创建连接。
开始前的准备工作:
-
您必须已创建 GitHub 账户。
-
您必须事先创建 GitHub 代码存储库。
-
如果您的 CodePipeline 服务角色在 2019 年 12 月 18 日之前创建,则可能需要更新其权限,以便将
codestar-connections:UseConnection
用于 AWS CodeStar 连接。有关说明,请参阅 向 CodePipeline 服务角色添加权限。
注意
要创建连接,您必须是 GitHub 组织的拥有者。对于不属于组织的存储库,您必须是存储库拥有者。
创建到 GitHub 的连接(控制台)
通过以下步骤,可使用 CodePipeline 控制台为您的 GitHub 或 GitHub Enterprise Cloud 存储库添加连接操作。
注意
在这些步骤中,您可以在存储库访问下选择特定的存储库。所有未选择的存储库对 CodePipeline 来说都将不可访问或不可见。
步骤 1:创建或编辑您的管道
-
登录 CodePipeline 控制台。
-
选择以下选项之一。
-
选择创建管道。按照创建管道 中的步骤操作,完成第一个屏幕,然后选择下一步。在源页面的源提供程序下,选择 GitHub(版本 2)。
-
选择编辑现有管道。选择编辑,然后选择编辑阶段。选择添加或编辑您的源操作。在编辑操作页面的操作名称下,输入您的操作的名称。在操作提供程序中,选择 GitHub (版本 2)。
-
-
请执行以下操作之一:
-
在连接下,如果您尚未创建到提供程序的连接,请选择连接到 GitHub。继续执行步骤 2:创建到 GitHub 的连接。
-
在连接下,如果您已创建到提供程序的连接,请选择该连接。继续执行步骤 3:保存连接的源操作。
-
步骤 2:创建到 GitHub 的连接
选择创建连接后,将会出现连接到 GitHub 页面。
要创建到 GitHub 的连接
-
在 GitHub connection settings(GitHub 连接设置)下,您的连接名称出现在 Connection name(连接名称)中。选择连接到 GitHub。此时将显示访问请求页面。
-
选择授权 AWS Connector for GitHub。连接页面将出现,并显示 GitHub 应用程序字段。
-
在 GitHub apps (GitHub 应用程序) 下,选择一个应用程序安装或选择 Install a new app (安装新应用程序) 来创建一个应用程序安装。
您可以为与特定提供程序的所有连接安装一个应用程序。如果您已经安装了 AWS Connector for GitHub 应用程序,选择它并跳过此步骤。
注意
如果要创建用户访问令牌
,请确保您已经安装了 AWS Connector for GitHub 应用程序,然后将应用程序安装字段留空。CodeConnections 将使用用户访问令牌进行连接。 -
在安装 AWS Connector for GitHub 页面中,选择要在其中安装应用程序的账户。
注意
您只为每个 GitHub 账户安装一次应用程序。如果您之前已安装了应用程序,则可以选择配置,继续进入应用程序安装的修改页面,也可以使用后退按钮返回到控制台。
-
在安装 AWS Connector for GitHub 页面中,保留所有默认设置,然后选择安装。
-
在 Connect to GitHub (连接到 GitHub) 页面上,新安装的连接 ID 将显示在 GitHub Apps (GitHub 应用程序) 中。选择连接。
步骤 3:保存 GitHub 源操作
使用编辑操作页面上的这些步骤,将源操作与连接信息一起保存。
保存 GitHub 源操作
-
在存储库名称中,选择第三方存储库的名称。
-
如果您的操作是 CodeConnections 操作,您可以在管道触发器下添加触发器。要配置管道触发器配置并选择性使用触发器进行筛选,请参阅筛选代码推送或拉取请求的触发器中的更多详细信息。
-
在输出构件格式中,您必须为构件选择格式。
-
要使用默认方法存储 GitHub 操作的输出构件,请选择 CodePipeline 默认。操作会访问 GitHub 存储库中的文件,并将构件以 ZIP 文件格式存储在管道构件存储中。
-
要存储包含存储库的 URL 引用的 JSON 文件,以便下游操作可以直接执行 Git 命令,请选择完全克隆。此选项只能由 CodeBuild 下游操作使用。
如果选择此选项,则需要更新您的 CodeBuild 项目服务角色的权限,如 添加 CodeBuild GitClone 权限以连接到 Bitbucket、GitHub、GitHub Enterprise Server 或 GitLab.com所示。如需查看教程以了解如何使用完整克隆选项,请参阅教程:对 GitHub 管道源使用完整克隆。
-
-
在向导上选择下一步,或者在编辑操作页面上选择保存。
创建到 GitHub 的连接 (CLI)
您可以使用 AWS Command Line Interface(AWS CLI)创建连接。
为此,请使用 create-connection 命令。
重要
默认情况下,通过 AWS CLI 或 AWS CloudFormation 创建的连接处于 PENDING
状态。使用 CLI 或 AWS CloudFormation 创建一个连接后,可使用控制台编辑该连接以使其状态为 AVAILABLE
。
创建连接
-
打开终端(Linux、macOS 或 Unix)或命令提示符(Windows)。使用 AWS CLI 运行 create-connection 命令,并为连接指定
--provider-type
和--connection-name
。在此示例中,第三方提供方名称为GitHub
,指定的连接名称为MyConnection
。aws codestar-connections create-connection --provider-type GitHub --connection-name MyConnection
如果成功,该命令将返回类似以下内容的连接 ARN 信息。
{ "ConnectionArn": "arn:aws:codestar-connections:us-west-2:
account_id
:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f" } -
使用控制台完成连接。有关更多信息,请参阅更新挂起的连接。
-
管道默认会在向连接源存储库推送代码时检测更改。要配置手动发布或 Git 标签管道触发器配置,请执行以下操作之一:
-
要将管道触发器配置为仅通过手动发布启动,请在配置中添加以下行:
"DetectChanges": "false",
-
要配置管道触发器配置以使用触发器进行筛选,请参阅筛选代码推送或拉取请求的触发器中的更多详细信息。例如,以下内容添加到管道 JSON 定义的管道级别。在此示例中,
release-v0
和release-v1
是要包含的 Git 标签,release-v2
是要排除的 Git 标签。"triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ] } } ]
-