

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

# GitLab 进入 CodeBuild
<a name="access-tokens-gitlab-overview"></a>

对于 GitLab，您可以使用 GitLab 连接来访问源提供商。

**Topics**
+ [连接 CodeBuild 到 GitLab](#connections-gitlab)

## 连接 CodeBuild 到 GitLab
<a name="connections-gitlab"></a>

连接允许您使用授权和建立将第三方提供商与 Amazon 资源关联的配置 Amazon CodeConnections。要将您的第三方存储库关联为构建项目的源，您应使用连接。

要在中添加 GitLab 或 GitLab 自行管理的来源提供商 CodeBuild，您可以选择：
+ 使用 CodeBuild 控制台 “**创建构建项目**” 向导或 ** “编辑源代码**” 页面选择**GitLab**或**GitLab 自管理**提供商选项。要添加源提供商，请参阅[创建到 GitLab （控制台）的连接](#connections-gitlab-console)。控制台可帮助您创建连接资源。
+ 使用 CLI 来创建连接资源，请参阅 [创建到 GitLab (CLI) 的连接](#connections-gitlab-cli)，以便使用 CLI 创建连接资源。

**注意**  
您也可以使用开发人员工具控制台，在**设置**下创建连接。参阅[创建连接](https://docs.amazonaws.cn/dtconsole/latest/userguide/connections-create.html)。

**注意**  
通过在中授权安装此连接 GitLab，即表示您授予我们的服务权限，允许通过访问您的帐户来处理您的数据，并且您可以随时通过卸载应用程序来撤消这些权限。

### 创建连接至 GitLab
<a name="connections-gitlab-create"></a>

本节介绍如何连接 GitLab 到 CodeBuild。有关 GitLab 连接的更多信息，请参阅 [连接 CodeBuild 到 GitLab](#connections-gitlab)。

开始前的准备工作：
+ 您必须已经使用创建了一个帐户 GitLab。
**注意**  
连接只能访问用于创建并授权连接的账户所拥有的存储库。
**注意**  
您可以创建与具有**所有者**角色的存储库的连接 GitLab，然后可以将该连接与包含资源的存储库一起使用，例如 CodeBuild。对于群组中的仓库，您无需成为群组拥有者。
+ 要为构建项目指定来源，必须已经在上创建了存储库 GitLab。

**Topics**
+ [创建到 GitLab （控制台）的连接](#connections-gitlab-console)
+ [创建到 GitLab (CLI) 的连接](#connections-gitlab-cli)

#### 创建到 GitLab （控制台）的连接
<a name="connections-gitlab-console"></a>

使用以下步骤使用 CodeBuild 控制台为您的项目（存储库）添加连接 GitLab。

**注意**  
您可以使用其他 Amazon 账户共享的连接，而不必在账户中创建或使用现有连接。有关更多信息，请参阅与 Amazon 账户[共享连接](https://docs.amazonaws.cn/dtconsole/latest/userguide/connections-share.html)。

**创建或编辑您的构建项目**

1. 登录 CodeBuild 控制台。

1. 选择下列选项之一。
   + 选择创建构建项目。按照中的[创建构建项目（控制台）](create-project.md#create-project-console)步骤完成第一个屏幕，然后在 ** “**来源” 部分的 “**来源提供商**” 下选择**GitLab**。
   + 选择编辑现有构建项目。选择**编辑**，然后选择**源**。在 ** “编辑源代码**” 页面的 “**来源提供商” 下**，选择**GitLab**。

1. 选择下列选项之一：
   + 在**连接**下，选择**默认连接**。默认连接将默认 GitLab 连接应用于所有项目。
   + 在**连接**下，选择**自定义连接**。自定义连接应用的自定义 GitLab连接会覆盖您账户的默认设置。

1. 请执行以下操作之一：
   + 在 “**默认连接” ** 或 “**自定义连接” 下**，如果您尚未创建与提供商的连接，请选择**创建新 GitLab连接**。继续执行步骤 5，以便创建连接。
   + 在**连接**下，如果您已创建到提供程序的连接，请选择该连接。继续执行步骤 10。
**注意**  
如果在创建 GitLab 连接之前关闭了弹出窗口，则需要刷新页面。

1. 要创建与 GitLab 存储库的连接，**请在选择提供商**下选择**GitLab**。在**连接名称**中，输入要创建的连接的名称。选择 **Connect to GitLab**。  
![控制台屏幕截图显示为其选择的连接选项 GitLab。](https://docs.amazonaws.cn/codebuild/latest/userguide/images/connections-create-gitlab.png)

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

1. 如果这是您第一次授权连接，则会显示一个授权页面，其中包含一条消息，请求授权该连接访问您的 GitLab 帐户。

   选择**授权**。  
![屏幕截图显示了授权您的 GitLab 账户连接的消息。](https://docs.amazonaws.cn/codebuild/latest/userguide/images/gitlab-authorization.png)

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

1. 选择**连接**。

   成功创建 GitLab 连接后，成功横幅将显示在顶部。

1. 在**创建构建项目**页面的**默认连接**或**自定义连接**下拉列表中，确保列出了您的连接 ARN。如果未列出，请点击刷新按钮以使其显示。

1. 在**存储库中**， GitLab 通过使用命名空间指定项目路径来选择项目名称。例如，对于组级存储库，请按以下格式输入存储库名称：`group-name/repository-name`。有关路径和命名空间的更多信息，请参阅 [ https://docs.gitlab.com/ee/api/projects.html \#get-single-p `path_with_namespace` roject 中的字段。](https://docs.gitlab.com/ee/api/projects.html#get-single-project)有关中的命名空间的更多信息 GitLab，请参阅[https://docs.gitlab.com/ee/user/namespace/](https://docs.gitlab.com/ee/user/namespace/)。
**注意**  
对于中的群组 GitLab，必须使用命名空间手动指定项目路径。例如，对于组 `mygroup` 中名为 `myrepo` 的存储库，请输入以下内容：`mygroup/myrepo`。您可以在的 URL 中找到带有命名空间的项目路径 GitLab。

   

1. 在**源版本 - 可选**中，输入拉取请求 ID、分支、提交 ID、标签或引用以及提交 ID。有关更多信息，请参阅 [源版本示例，包含 Amazon CodeBuild](sample-source-version.md)。
**注意**  
我们建议您选择看起来不像提交 ID 的 Git 分支名称，例如 `811dd1ba1aba14473856cee38308caed7190c0d` 或 `5392f7`。这可以帮助您避免 Git 签出与实际提交发生冲突。

   

1. 在 **Git 克隆深度 - 可选**中，可以创建一个浅克隆，其历史记录会截断至指定数量的提交。如果您需要完整克隆，请选择**完整**。

1. 在**构建状态 - 可选**中，如果您希望向源提供商报告构建的开始和完成状态，请选择**在构建开始和完成时向源提供商报告构建状态**。

   为了能够向源提供商报告构建状态，与源提供商关联的用户必须拥有对存储库的写入权限。如果用户没有写入权限，则无法更新构建状态。有关更多信息，请参阅 [源提供商访问权限](access-tokens.md)。

#### 创建到 GitLab (CLI) 的连接
<a name="connections-gitlab-cli"></a>

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

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

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

**创建连接**
+ 按照*开发者工具控制台用户指南*中的说明[创建连接 GitLab (CLI) ](https://docs.amazonaws.cn/dtconsole/latest/userguide/connections-create-gitlab.html#connections-create-gitlab-cli)。