GitHub 连接 - AWS CodePipeline

GitHub 连接

您可以使用连接授权和建立一些配置,将您的第三方提供方与 AWS 资源相关联。

注意

此功能在亚太地区(香港)、亚太地区(海得拉巴)、亚太地区(雅加达)、亚太地区(墨尔本)、亚太地区(大阪)、非洲(开普敦)、中东(巴林)、中东(阿联酋)、欧洲(西班牙)、欧洲(苏黎世)、以色列(特拉维夫)或 AWS GovCloud(美国西部)区域不可用。要参考其他可用操作,请参阅 与 CodePipeline 的产品和服务集成。有关在欧洲地区(米兰)区域使用此操作的注意事项,请参阅CodeStarSourceConnection(适用于 Bitbucket Cloud, GitHub、GitHub Enterprise Server、GitLab.com 和 GitLab 自托管操作)中的说明。

要在 CodePipeline 中为 GitHub 或 GitHub Enterprise Cloud 存储库添加源操作,您可以选择以下任一操作:

注意

您也可以使用开发人员工具控制台,在设置下创建连接。参阅创建连接

开始前的准备工作:

  • 您必须已创建 GitHub 账户。

  • 您必须事先创建 GitHub 代码存储库。

  • 如果您的 CodePipeline 服务角色在 2019 年 12 月 18 日之前创建,则可能需要更新其权限,以便将 codestar-connections:UseConnection 用于 AWS CodeStar 连接。有关说明,请参阅 向 CodePipeline 服务角色添加权限

注意

要创建连接,您必须是 GitHub 组织的拥有者。对于不属于组织的存储库,您必须是存储库拥有者。

创建到 GitHub 的连接(控制台)

通过以下步骤,可使用 CodePipeline 控制台为您的 GitHub 或 GitHub Enterprise Cloud 存储库添加连接操作。

注意

在这些步骤中,您可以在存储库访问下选择特定的存储库。所有未选择的存储库对 CodePipeline 来说都将不可访问或不可见。

步骤 1:创建或编辑您的管道

  1. 登录 CodePipeline 控制台。

  2. 选择以下选项之一。

    • 选择创建管道。按照创建管道 中的步骤操作,完成第一个屏幕,然后选择下一步。在页面的源提供程序下,选择 GitHub(版本 2)

    • 选择编辑现有管道。选择编辑,然后选择编辑阶段。选择添加或编辑您的源操作。在编辑操作页面的操作名称下,输入您的操作的名称。在操作提供程序中,选择 GitHub (版本 2)

  3. 请执行以下操作之一:

    • 连接下,如果您尚未创建到提供程序的连接,请选择连接到 GitHub。继续执行步骤 2:创建到 GitHub 的连接。

    • 连接下,如果您已创建到提供程序的连接,请选择该连接。继续执行步骤 3:保存连接的源操作。

步骤 2:创建到 GitHub 的连接

选择创建连接后,将会出现连接到 GitHub 页面。

显示初始 GitHub 连接页面的控制台屏幕截图。
要创建到 GitHub 的连接
  1. GitHub connection settings(GitHub 连接设置)下,您的连接名称出现在 Connection name(连接名称)中。选择连接到 GitHub。此时将显示访问请求页面。

  2. 选择授权 AWS Connector for GitHub。连接页面将出现,并显示 GitHub 应用程序字段。

    显示带有 GitHub Apps (GitHub 应用程序) 字段的初始 GitHub 连接页面的控制台屏幕截图。
  3. GitHub apps (GitHub 应用程序) 下,选择一个应用程序安装或选择 Install a new app (安装新应用程序) 来创建一个应用程序安装。

    您可以为与特定提供程序的所有连接安装一个应用程序。如果您已经安装了 AWS Connector for GitHub 应用程序,选择它并跳过此步骤。

    注意

    如果要创建用户访问令牌,请确保您已经安装了 AWS Connector for GitHub 应用程序,然后将应用程序安装字段留空。CodeConnections 将使用用户访问令牌进行连接。

  4. 安装 AWS Connector for GitHub 页面中,选择要在其中安装应用程序的账户。

    注意

    您只为每个 GitHub 账户安装一次应用程序。如果您之前已安装了应用程序,则可以选择配置,继续进入应用程序安装的修改页面,也可以使用后退按钮返回到控制台。

  5. 安装 AWS Connector for GitHub 页面中,保留所有默认设置,然后选择安装

  6. Connect to GitHub (连接到 GitHub) 页面上,新安装的连接 ID 将显示在 GitHub Apps (GitHub 应用程序) 中。选择连接

步骤 3:保存 GitHub 源操作

使用编辑操作页面上的这些步骤,将源操作与连接信息一起保存。

保存 GitHub 源操作
  1. 存储库名称中,选择第三方存储库的名称。

  2. 如果您的操作是 CodeConnections 操作,您可以在管道触发器下添加触发器。要配置管道触发器配置并选择性使用触发器进行筛选,请参阅筛选代码推送或拉取请求的触发器中的更多详细信息。

  3. 输出构件格式中,您必须为构件选择格式。

  4. 在向导上选择下一步,或者在编辑操作页面上选择保存

创建到 GitHub 的连接 (CLI)

您可以使用 AWS Command Line Interface(AWS CLI)创建连接。

为此,请使用 create-connection 命令。

重要

默认情况下,通过 AWS CLI 或 AWS CloudFormation 创建的连接处于 PENDING 状态。使用 CLI 或 AWS CloudFormation 创建一个连接后,可使用控制台编辑该连接以使其状态为 AVAILABLE

创建连接
  1. 打开终端(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" }
  2. 使用控制台完成连接。有关更多信息,请参阅更新挂起的连接

  3. 管道默认会在向连接源存储库推送代码时检测更改。要配置手动发布或 Git 标签管道触发器配置,请执行以下操作之一:

    • 要将管道触发器配置为仅通过手动发布启动,请在配置中添加以下行:

      "DetectChanges": "false",
    • 要配置管道触发器配置以使用触发器进行筛选,请参阅筛选代码推送或拉取请求的触发器中的更多详细信息。例如,以下内容添加到管道 JSON 定义的管道级别。在此示例中,release-v0release-v1 是要包含的 Git 标签,release-v2 是要排除的 Git 标签。

      "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ] } } ]