

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

# 创建与 GitLab 自我管理的连接
<a name="connections-create-gitlab-managed"></a>

您可以使用自行管理安装为 GitLab 企业版或 GitLab 社区版创建连接。

您可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 创建用于 GitLab 自我管理的连接和主机。

**注意**  
通过在 GitLab 自我管理模式下授权此连接应用程序，即表示您授予我们的服务权限以处理您的数据，并且您可以随时通过卸载该应用程序来撤消这些权限。

在创建 GitLab 自我管理连接之前，必须创建用于连接的主机，详见以下步骤。有关已安装提供程序的主机创建工作流程的概述，请参阅[创建或更新主机的工作流程](welcome-hosts-workflow.md)。

（可选）您可以为主机配置 VPC。有关主机资源的网络和 VPC 配置的更多信息，请参阅[（可选）先决条件：您的连接的网络或 Amazon VPC 配置](connections-host-create.md#connections-create-host-prereq)和[对主机的 VPC 配置进行故障排查](troubleshooting-connections.md#troubleshooting-connections-host-vpc)中的 VPC 先决条件。

开始前的准备工作：
+ 您必须已经使用自己管理安装的 GitLab 企业版或 GitLab 社区版创建了帐户， GitLab 并且安装了企业版或社区版。有关更多信息，请参阅[https://docs.gitlab.com/ee/订阅/self\$1managed/](https://docs.gitlab.com/ee/subscriptions/self_managed/)。
**注意**  
连接只为用于创建并授权连接的账户提供访问权限。
**注意**  
您可以创建与拥有**所有者**角色的存储库的连接 GitLab，然后该连接可以与资源一起使用，例如 CodePipeline。对于群组中的仓库，您无需成为群组拥有者。
+ 您必须已经创建了仅具有以下范围缩小权限的 GitLab 个人访问令牌 (PAT)：，。`api` `admin_mode`有关更多信息，请参阅 [https://docs.gitlab.com/ee/user/profile/personal\$1access\$1tokens.html](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)。您必须是管理员才能创建和使用 PAT。
**注意**  
您的 PAT 用于对主机进行授权，不会以其它方式存储或由连接使用。要设置主机，您可以创建一个临时 PAT，然后在设置主机之后，可以删除 PAT。

**注意**  
对于使用 GitHub 企业服务器或 GitLab 自行管理的组织，您不会传递可用的主机。您要为组织中的每个连接创建一个新主机，并且必须确保在该主机的网络字段（VPC ID IDs、子网和安全组 IDs）中输入相同的信息。有关更多信息，请参阅 [已安装的提供商支持组织的连接和主机设置](troubleshooting-connections.md#troubleshooting-organization-host)。

**Topics**
+ [创建与 GitLab 自我管理（控制台）的连接](#connections-create-gitlab-managed-console)
+ [创建与 GitLab 自我管理 (CLI) 的连接](#connections-create-gitlab-managed-cli)

## 创建与 GitLab 自我管理（控制台）的连接
<a name="connections-create-gitlab-managed-console"></a>

使用这些步骤在控制台中创建主机和 GitLab 自我管理连接。有关在 VPC 中设置主机的注意事项，请参阅[（可选）先决条件：您的连接的网络或 Amazon VPC 配置](connections-host-create.md#connections-create-host-prereq)。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

**注意**  
您可以为单个 GitLab 自管理安装创建主机，然后可以管理与该主机的一个或多个 GitLab 自管理连接。

**步骤 1：创建主机**

1. 登录 AWS 管理控制台，然后打开 AWS 开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 在 **Host (主机)** 选项卡上，选择 **Create host (创建主机)**。

1. 在 **Host name (产品名称)** 中，输入您要用于主机的名称。

1. 在**选择提供商**中，选择**GitLab自我管理**。

1. 在 **URL** 中，输入安装提供程序的基础设施的终端节点。

1. 如果您的服务器是在 Amazon VPC 中配置的，并且您想要连接 VPC，请选择 **Use a VPC (使用 VPC)**。否则，请选择 **No VPC (无 VPC)**。

1. （可选）如果您已将主机启动到 Amazon VPC 中，并且想要连接 VPC，请选择**使用 VPC** 并完成以下操作。
**注意**  
对于使用 GitHub 企业服务器或 GitLab 自行管理的组织，您不会传递可用的主机。您要为组织中的每个连接创建一个新主机，并且必须确保在该主机的网络字段（VPC ID IDs、子网和安全组 IDs）中输入相同的信息。有关更多信息，请参阅 [已安装的提供商支持组织的连接和主机设置](troubleshooting-connections.md#troubleshooting-organization-host)。

   1. 在 **VPC ID** 中，选择您的 VPC ID。确保为基础设施选择安装主机的 VPC，或选择通过 VPN 或 Direct Connect 访问实例的 VPC。

   1. 如果您配置了私有 VPC，并且您已将主机配置为使用非公有证书颁发机构执行 TLS 验证，请在 **TLS 证书**中输入证书 ID。TLS 证书值为证书的公有密钥。

1. 选择 **Create host (创建主机)**。

1. 显示主机详细信息页面后，主机状态随着主机的创建而发生变化。
**注意**  
如果您的主机设置包括 VPC 配置，请等待几分钟时间来预置主机网络组件。

   等待您的主机进入 **Pending (待处理)** 状态，然后完成安装。有关更多信息，请参阅 [设置待处理的主机](connections-host-setup.md)。  
![\[控制台屏幕截图显示了主机处于待处理状态的 GitLab 自行管理的主机详细信息。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-glsm-host.png)

**步骤 2：设置待处理的主机**

1. 选择**设置主机**。

1. 将显示 *host\$1name* “**设置**” 页面。在**提供个人访问令牌**中，仅向你的 GitLab PAT 提供以下限定范围的权限：和。`api` `admin_mode`
**注意**  
只有管理员才能创建和使用 PAT。  
![\[控制台屏幕截图显示了新主机的 GitLab 个人访问令牌条目\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-glsm-pat.png)

1. 成功注册主机后，将显示主机详细信息页面，并显示主机状态为 **Available (可用)**。  
![\[控制台屏幕截图显示了新主机的可用状态\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-glsm-host-available.png)

**步骤 3：创建连接**

1. 登录 AWS 管理控制台，然后打开 AWS 开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 选择**设置**，然后选择**连接**选项卡。选择**创建连接**。

1. 要创建与 GitLab 存储库的连接，**请在 “选择提供商”** 下，选择 “**GitLab 自我管理**”。在**连接名称**中，输入要创建的连接的名称。  
![\[控制台屏幕截图显示了为 GitLab自行管理选择的连接选项。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-glsm.png)

1. 在 **URL** 中，输入服务器的终端节点。

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

   1. 在 **VPC ID** 中，选择您的 VPC ID。确保为基础设施选择安装主机的 VPC，或选择通过 VPN 或 Direct Connect 访问主机的 VPC。

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

      确保为基础设施选择安装主机的子网，或选择通过 VPN 或 Direct Connect 访问已安装主机的子网。

   1. 在 “**安全组**” 下 IDs，选择 “**添加**”。在字段中，选择要用于主机的安全组。您最多可以选择 10 个安全组。

      确保为基础设施选择安装主机的安全组，或选择通过 VPN 或 Direct Connect 访问已安装主机的安全组。

   1. 如果您配置了私有 VPC，并且您已将主机配置为使用非公有证书颁发机构执行 TLS 验证，请在 **TLS 证书**中输入证书 ID。TLS 证书值应该是证书的公有密钥。

1. 选择 “**Connect 以进行 GitLab 自我管理**”。创建的连接显示为**待处理**状态。将使用您提供的服务器信息为连接创建一个主机资源。对于主机名，将使用 URL。

1. 选择**更新待处理的连接**。

1.  GitLab 显示的登录页面时，使用您的凭据登录，然后选择**登录。**

1. 将显示一个授权页面，其中包含一条消息，请求授权连接访问您的 GitLab 账户。

   选择**授权**。

1. 浏览器返回到连接控制台页面。在 “**创建 GitLab 连接**” 下，新连接显示在 “**连接名称”** 中。

1. 选择 “**Connect 以进行 GitLab 自我管理**”。

   成功创建连接后，将显示成功横幅。连接详细信息显示在**连接设置**页面上。

## 创建与 GitLab 自我管理 (CLI) 的连接
<a name="connections-create-gitlab-managed-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 创建用于 GitLab自行管理的主机和连接。

为此，请使用 **create-host** 和 **create-connection** 命令。

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

**步骤 1：创建用于 GitLab 自行管理的主机 (CLI)**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-host**命令，`--provider-endpoint`为您的连接指定`--name``--provider-type`、和。在此示例中，第三方提供程序名称为 `GitLabSelfManaged`，终端节点为 `my-instance.dev`。

   ```
   aws codeconnections create-host --name MyHost --provider-type GitLabSelfManaged --provider-endpoint "https://my-instance.dev"
   ```

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

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

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

1. 在以下步骤中，使用控制台完成主机设置并将主机移到 `Available` 状态。

**步骤 2：在控制台中设置待处理的主机**

1. 登录 AWS 管理控制台 并打开开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用控制台完成主机设置并将主机变为 `Available` 状态。请参阅[设置待处理的主机](connections-host-setup.md)。

**步骤 3：为 GitLab 自行管理 (CLI) 创建连接**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-connection**命令，`--connection-name`为您的连接指定`--host-arn`和。

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

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

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad"
   }
   ```

1. 在以下步骤中，使用控制台设置待处理的连接。

**步骤 4：在控制台中完成 GitLab 自我管理的连接**

1. 登录 AWS 管理控制台 并打开开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用控制台设置待处理的连接，并将连接移到 `Available` 状态。有关更多信息，请参阅 [更新挂起的连接](connections-update.md)。