GitHub Enterprise Server 连接
连接使您可以授权和建立一些配置,将您的第三方提供方与您的 Amazon 资源相关联。要将您的第三方存储库关联为管道的源,您应使用连接。
注意
CodePipeline 连接操作在中国(北京)和中国(宁夏)区域不可用。要参考其他可用操作,请参阅 与 CodePipeline 的产品和服务集成。
要在 CodePipeline 中添加 GitHub Enterprise Server 源操作,您可以选择以下任一操作:
-
使用 CodePipeline 控制台创建管道向导或编辑操作页面,选择 GitHub Enterprise Server 提供方选项。参阅创建到 GitHub Enterprise Server 的连接(控制台)以添加操作。控制台可帮助您创建主机资源和连接资源。
-
使用 CLI,添加提供方为
GitHubEnterpriseServer
的CreateSourceConnection
操作的操作配置,并创建您的资源:-
要创建连接资源,请参阅创建主机和到 GitHub Enterprise Server 的连接 (CLI),以便使用 CLI 创建主机资源和连接资源。
-
使用CodeStarSourceConnection(适用于 Bitbucket Cloud, GitHub、GitHub Enterprise Server、GitLab.com 和 GitLab 自托管操作)中的
CreateSourceConnection
示例操作配置来添加操作,如创建管道(CLI) 中所示。
-
注意
您也可以使用开发人员工具控制台,在设置下创建连接。参阅创建连接。
开始前的准备工作:
-
您必须已创建 GitHub Enterprise Server 账户,并在基础设施上安装 GitHub Enterprise Server 实例。
注意
每个 VPC 一次只能与一个主机(GitHub Enterprise Server 实例)关联。
-
您必须事先创建一个 GitHub Enterprise Server 代码存储库。
创建到 GitHub Enterprise Server 的连接(控制台)
通过以下步骤,可使用 CodePipeline 控制台为您的 GitHub Enterprise Server 存储库添加连接操作。
注意
GitHub Enterprise Server 连接只能访问用于创建连接的 GitHub Enterprise Server 账户所拥有的存储库。
开始前的准备工作:
要建立到 GitHub Enterprise Server 的主机连接,您必须事先完成为连接创建主机资源的步骤。请参阅管理连接主机。
步骤 1:创建或编辑您的管道
创建或编辑您的管道
-
登录 CodePipeline 控制台。
-
选择以下选项之一。
-
选择创建管道。按照创建管道 中的步骤操作,完成第一个屏幕,然后选择下一步。在源页面的源提供程序下,选择 GitHub Enterprise Server。
-
选择编辑现有管道。选择编辑,然后选择编辑阶段。选择添加或编辑您的源操作。在编辑操作页面的操作名称下,输入您的操作的名称。在操作提供程序中,选择 GitHub Enterprise Server。
-
-
请执行以下操作之一:
-
在连接下,如果您尚未创建与提供程序的连接,请选择连接到 GitHub Enterprise Server。继续执行步骤 2:创建到 GitHub Enterprise Server 的连接。
-
在连接下,如果您已创建到提供程序的连接,请选择该连接。继续执行步骤 3:保存连接的源操作。
-
创建到 GitHub Enterprise Server 的连接
选择创建连接后,将显示连接到 GitHub Enterprise Server 页面。
重要
由于版本中的已知问题,Amazon CodeConnections不支持 GitHub Enterprise Server 版本 2.22.0。要执行连接,请升级到版本 2.22.1 或最新的可用版本。
连接到 GitHub Enterprise Server
-
在连接名称,输入您的连接的名称。
-
在 URL 中,输入服务器的终端节点。
注意
如果提供的 URL 已用于为连接设置 GitHub Enterprise Server,系统将提示您选择之前为该终端节点创建的主机资源 ARN。
-
如果您已将服务器启动到 Amazon VPC 中,并且想要连接 VPC,请选择 Use a VPC (使用 VPC) 并完成以下操作。
-
在 VPC ID 中,选择您的 VPC ID。确保为基础设施选择安装 GitHub Enterprise Server 实例的 VPC,或通过 VPN 或 Direct Connect 访问 GitHub Enterprise Server 实例的 VPC。
-
在 Subnet ID (子网 ID) 下,选择 Add (添加)。在字段中,选择要用于主机的子网 ID。您可以选择最多 10 个子网。
确保为基础设施选择安装 GitHub Enterprise Server 实例的子网,或通过 VPN 或 Direct Connect 访问安装的 GitHub Enterprise Server 实例的子网。
-
在 Security group IDs (安全组 ID) 下,选择 Add (添加)。在字段中,选择要用于主机的安全组。您最多可以选择 10 个安全组。
确保为基础设施选择安装 GitHub Enterprise Server 实例的安全组,或通过 VPN 或 Direct Connect 访问安装的 GitHub Enterprise Server 实例的安全组。
-
如果您配置了私有 VPC,并且您已将 GitHub Enterprise Server 实例配置为使用非公有证书颁发机构执行 TLS 验证,请在 TLS certificate (TLS 证书) 中,输入证书 ID。TLS 证书值应该是证书的公有密钥。
-
-
选择 Connect to GitHub Enterprise Server (连接到 GitHub Enterprise Server)。创建的连接显示为 Pending (待处理) 状态。将使用您提供的服务器信息为连接创建一个主机资源。对于主机名,将使用 URL。
-
选择更新待处理的连接。
-
如果出现提示,请在 GitHub Enterprise 登录页面上使用您的 GitHub Enterprise 凭证登录。
-
在 Create GitHub App (创建 GitHub 应用程序) 页面上,为应用程序选择名称。
-
在 GitHub 授权页面上,选择 Authorize <app-name> (授权 <应用程序名称>)。
-
在应用程序安装页面上,有一条消息显示连接器应用程序已准备好安装。如果您有多个组织,系统可能会提示您选择要安装该应用程序的组织。
选择要安装应用程序的存储库设置。选择安装。
-
连接页面显示已创建的连接处于可用状态。
步骤 3:保存 GitHub Enterprise Server 源操作
使用向导或编辑操作页面上的这些步骤,将源操作与连接信息一起保存。
完成并保存您的源操作和连接
-
在存储库名称中,选择第三方存储库的名称。
-
如果您的操作是 CodeConnections 操作,您可以在管道触发器下添加触发器。要配置管道触发器配置并选择性使用触发器进行筛选,请参阅筛选代码推送或拉取请求的触发器中的更多详细信息。
-
在输出构件格式中,您必须为构件选择格式。
-
要使用默认方法存储 GitHub Enterprise Server 操作的输出构件,请选择 CodePipeline 默认。操作会访问 GitHub Enterprise Server 存储库中的文件,并将构件以 ZIP 文件格式存储在管道构件存储中。
-
要存储包含存储库的 URL 引用的 JSON 文件,以便下游操作可以直接执行 Git 命令,请选择完全克隆。此选项只能由 CodeBuild 下游操作使用。
-
-
在向导上选择下一步,或者在编辑操作页面上选择保存。
创建主机和到 GitHub Enterprise Server 的连接 (CLI)
您可以使用 Amazon Command Line Interface(Amazon CLI)创建连接。
为此,请使用 create-connection 命令。
重要
默认情况下,通过 Amazon CLI 或 Amazon CloudFormation 创建的连接处于 PENDING
状态。使用 CLI 或 Amazon CloudFormation 创建一个连接后,可使用控制台编辑该连接以使其状态为 AVAILABLE
。
您可以使用 Amazon Command Line Interface(Amazon CLI)为已安装的连接创建主机。
注意
您只需为每个 GitHub Enterprise Server 账户创建一次主机。您与特定 GitHub Enterprise Server 帐户的所有连接都将使用同一主机。
您可以使用主机来表示安装第三方提供程序的基础设施的终端节点。使用 CLI 完成主机创建后,主机将处于待处理状态。然后,您应设置或注册主机,使之转为可用状态。主机可用后,完成创建连接的步骤。
为此,请使用 create-host 命令。
重要
默认情况下,通过 Amazon CLI 创建的连接处于 Pending
状态。使用 CLI 创建主机后,可使用控制台或 CLI 设置主机以使其状态为 Available
。
要创建主机
-
打开终端(Linux、macOS 或 Unix)或命令提示符(Windows)。使用 Amazon CLI 运行 create-host 命令,并为连接指定
--name
、--provider-type
和--provider-endpoint
。在此示例中,第三方提供程序名称为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
状态。 -
使用控制台完成主机设置并将主机变为
Available
状态。
创建到 GitHub Enterprise Server 的连接
-
打开终端(Linux、macOS 或 Unix)或命令提示符(Windows)。使用 Amazon CLI 运行 create-connection 命令,并为连接指定
--host-arn
和--connection-name
。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" } -
使用控制台设置待处理的连接。
-
管道默认会在向连接源存储库推送代码时检测更改。要配置手动发布或 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" ] } } ] } } ]
-