GitHub 企业服务器连接 - AWS CodePipeline

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

GitHub 企业服务器连接

Connections 允许您授权和建立将您的第三方提供商与您的 AWS 资源关联的配置。要将您的第三方存储库关联为管道的源,您应使用连接。

注意

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

要在中添加 GitHub 企业服务器源操作 CodePipeline,可以选择以下任一选项:

注意

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

开始前的准备工作:

  • 您必须已在 GitHub 企业服务器上创建帐户并在基础架构上安装了 GitHub 企业服务器实例。

    注意

    每个 VPC 一次只能与一台主机(GitHub 企业服务器实例)关联。

  • 您必须已经使用 GitHub 企业服务器创建了代码存储库。

创建与 GitHub 企业服务器(控制台)的连接

使用这些步骤使用 CodePipeline 控制台为您的 GitHub企业服务器存储库添加连接操作。

注意

GitHub 企业服务器连接仅提供对用于创建连接的 GitHub 企业服务器帐户所拥有的存储库的访问权限。

开始前的准备工作:

要将主机连接到 E GitHub nterprise Server,必须完成为连接创建主机资源的步骤。请参阅管理连接主机

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

创建或编辑您的管道
  1. 登录 CodePipeline 控制台。

  2. 选择以下选项之一。

    • 选择创建管道。按照创建管道 中的步骤操作,完成第一个屏幕,然后选择下一步。在 “” 页上的 “源提供商” 下,选择 “GitHub 企业服务器”。

    • 选择编辑现有管道。选择编辑,然后选择编辑阶段。选择添加或编辑您的源操作。在编辑操作页面的操作名称下,输入您的操作的名称。在操作提供者中,选择GitHub 企业服务器

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

    • 在 “连接” 下,如果您尚未创建与提供商的连接,请选择 Connection to En GitHub terprise Server。继续执行步骤 2:创建与 GitHub 企业服务器的连接。

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

创建与 GitHub企业服务器的连接

选择创建连接后,将显示 “Connect to En GitHub terprise Server” 页面。

重要

AWS CodeConnections 由于版本中存在已知问题,不支持 GitHub 企业服务器版本 2.22.0。要执行连接,请升级到版本 2.22.1 或最新的可用版本。

连接到 GitHub 企业服务器
  1. 连接名称,输入您的连接的名称。

  2. URL 中,输入服务器的终端节点。

    注意

    如果所提供的 URL 已用于为连接设置 GitHub企业服务器,则系统将提示您选择先前为该终端节点创建的主机资源 ARN。

  3. 如果您已将服务器启动到 Amazon VPC 中,并且想要连接 VPC,请选择 Use a VPC (使用 VPC) 并完成以下操作。

    1. VPC ID 中,选择您的 VPC ID。请务必为安装 GitHub 企业服务器实例的基础设施选择 VPC,或者选择可通过 VPN 或 Direct Connect 访问 GitHub企业服务器实例的 VPC。

    2. Subnet ID (子网 ID) 下,选择 Add (添加)。在字段中,选择要用于主机的子网 ID。您可以选择最多 10 个子网。

      请务必为安装 GitHub 企业服务器实例的基础架构选择子网,或者选择可以通过 VPN 或 Direct Connect 访问已安装的 GitHub 企业服务器实例的子网。

    3. Security group IDs (安全组 ID) 下,选择 Add (添加)。在字段中,选择要用于主机的安全组。您最多可以选择 10 个安全组。

      请务必为安装 GitHub 企业服务器实例的基础架构选择安全组,或者选择可以通过 VPN 或 Direct Connect 访问已安装的 GitHub 企业服务器实例的安全组。

    4. 如果您配置了私有 VPC,并且已将 GitHub 企业服务器实例配置为使用非公共证书颁发机构执行 TLS 验证,请在 TLS 证书中输入您的证书 ID。TLS 证书值应该是证书的公有密钥。

      控制台屏幕截图显示了 VPC 选项的 “创建 GitHub 企业服务器连接” 页面。
  4. 选择 “连接到 GitHub 企业服务器”。创建的连接显示为待处理状态。将使用您提供的服务器信息为连接创建一个主机资源。对于主机名,将使用 URL。

  5. 选择更新待处理的连接

  6. 如果出现提示,请在 GitHub 企业登录页面上使用您的 GitHub企业凭据登录。

  7. 创建 GitHub 应用程序页面上,为您的应用程序选择一个名称。

  8. 在 GitHub 授权页面上,选择授权<app-name>。

  9. 在应用程序安装页面上,一条消息显示连接器应用程序已准备就绪,可以安装了。如果您有多个组织,系统可能会提示您选择要安装该应用程序的组织。

    选择要安装应用程序的存储库设置。选择安装

  10. 连接页面显示已创建的连接处于可用状态。

步骤 3:保存您的 GitHub 企业服务器源操作

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

完成并保存您的源操作和连接
  1. 存储库名称中,选择第三方存储库的名称。

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

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

    • 要使用默认方法存储 GitHub 企业服务器操作的输出对象,请选择CodePipeline默认。该操作访问 GitHub 企业服务器存储库中的文件,并将工件存储在管道对象存储区的 ZIP 文件中。

    • 要存储包含存储库的 URL 引用的 JSON 文件,以便下游操作可以直接执行 Git 命令,请选择完全克隆。此选项只能由 CodeBuild 下游操作使用。

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

创建主机并连接到 GitHub 企业服务器 (CLI)

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

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

重要

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

您可以使用 AWS Command Line Interface (AWS CLI) 为已安装的连接创建主机。

注意

每个 GitHub 企业服务器帐户只能创建一次主机。您与特定 GitHub 企业服务器帐户的所有连接都将使用同一台主机。

您可以使用主机来表示安装第三方提供程序的基础设施的终端节点。使用 CLI 完成主机创建后,主机将处于待处理状态。然后,您应设置或注册主机,使之转为可用状态。主机可用后,完成创建连接的步骤。

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

重要

默认情况下,通过创建的主机 AWS CLI 处于Pending状态。使用 CLI 创建主机后,可使用控制台或 CLI 设置主机以使其状态为 Available

要创建主机
  1. 打开终端(Linux、macOS 或 Unix)或命令提示符(Windows)。 AWS CLI 使用运行create-host命令,--provider-endpoint为您的连接指定--name--provider-type、和。在此示例中,第三方提供程序名称为 GitHubEnterpriseServer,终端节点为 my-instance.dev

    aws codestar-connections create-host --name MyHost --provider-type GitHubEnterpriseServer --provider-endpoint "https://my-instance.dev"

    如果成功,该命令将返回类似以下内容的主机 Amazon 资源名称(ARN)信息。

    { "HostArn": "arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605" }

    完成此步骤后,主机处于 PENDING 状态。

  2. 使用控制台完成主机设置并将主机变为 Available 状态。

创建与 GitHub 企业服务器的连接
  1. 打开终端(Linux、macOS 或 Unix)或命令提示符(Windows)。 AWS CLI 使用运行create-connection命令,--connection-name为您的连接指定--host-arn和。

    aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection

    如果成功,该命令将返回类似以下内容的连接 ARN 信息。

    { "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad" }
  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" ] } } ] } } ]