

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

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

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

**Topics**
+ [Connect t CodeBuild o GitLab](#connections-gitlab)

## Connect t CodeBuild o GitLab
<a name="connections-gitlab"></a>

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

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

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

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

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

本节介绍如何连接 GitLab 到 CodeBuild。有关 GitLab 连接的更多信息，请参阅 [Connect t CodeBuild o 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。

**注意**  
您可以使用其他账户共享的连接，而不是创建或使用 AWS 账户中的现有连接。有关更多信息，请参阅[与 AWS 账户共享连接](https://docs.aws.amazon.com/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。\]](http://docs.aws.amazon.com/zh_cn/codebuild/latest/userguide/images/connections-create-gitlab.png)

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

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

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

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

1. 选择**连接**。

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

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

1. 在 **Reposit** or GitLab y 中，通过使用命名空间指定项目路径来选择项目名称。例如，对于组级存储库，请按以下格式输入存储库名称：`group-name/repository-name`。有关路径和命名空间的更多信息，请参阅 [https://docs.gitlab.com/ee/api/p get-single-project](https://docs.gitlab.com/ee/api/projects.html#get-single-project) rojects.ht `path_with_namespace` ml\$1 中的字段。有关中 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。有关更多信息，请参阅 [源版本示例 AWS CodeBuild](sample-source-version.md)。
**注意**  
我们建议您选择看起来不像提交的 Git 分支名称 IDs，例如`811dd1ba1aba14473856cee38308caed7190c0d`或`5392f7`。这可以帮助您避免 Git 签出与实际提交发生冲突。

   

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

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

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

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

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

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

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

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