

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# CodeBuild 中的 GitLab 存取
<a name="access-tokens-gitlab-overview"></a>

對於 GitLab，您可以使用 GitLab 連線來存取來源提供者。

**Topics**
+ [將 CodeBuild 連接至 GitLab](#connections-gitlab)

## 將 CodeBuild 連接至 GitLab
<a name="connections-gitlab"></a>

連線可讓您使用 授權和建立組態，將第三方供應商與您的 AWS 資源建立關聯 AWS CodeConnections。若要將第三方儲存庫關聯為建置專案的來源，請使用 連線。

若要在 CodeBuild 中新增 GitLab 或 GitLab 自我管理來源提供者，您可以選擇：
+ 使用 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 連線的詳細資訊，請參閱 [將 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 中為您的專案 （儲存庫） 新增連線。

**注意**  
您可以使用從另一個帳戶共用的連線，而不是在帳戶中建立或使用現有的連線 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**。在 **Connection name (連線名稱)** 底下，輸入您要建立的連線名稱。選擇**連線至 GitLab**。  
![\[主控台螢幕擷取畫面中顯示針對 GitLab 選擇的連線選項。\]](http://docs.aws.amazon.com/zh_tw/codebuild/latest/userguide/images/connections-create-gitlab.png)

1. 當 GitLab 的登入頁面顯示時，使用您的登入資料登入，然後選擇**登入**。

1. 如果這是您第一次授權連線，則會顯示授權頁面，其中包含請求連線授權以存取 GitLab 帳戶的訊息。

   選擇 **Authorize** (授權)。  
![\[螢幕擷取畫面中顯示授權您的 GitLab 帳戶連線的訊息。\]](http://docs.aws.amazon.com/zh_tw/codebuild/latest/userguide/images/gitlab-authorization.png)

1. 瀏覽器會返回連線主控台頁面。在 **GitLab 連線設定**下，新的連線會顯示在**連線名稱**中。

1. 選擇**連線**。

   成功建立 GitLab 連線後，頂端會顯示成功橫幅。

1. 在**建立建置專案**頁面**的預設連線**或**自訂連線**下拉式清單中，確定已列出您的連線 ARN。如果沒有，請選擇重新整理按鈕使其出現。

1. 在**儲存庫**中，使用 命名空間指定專案路徑，以選擇 GitLab 中的專案名稱。例如，針對群組層級儲存庫，以下列格式輸入儲存庫名稱：`group-name/repository-name`。如需路徑和命名空間的詳細資訊，請參閱 https：//[https://docs.gitlab.com/ee/api/projects.html\$1get-single-project](https://docs.gitlab.com/ee/api/projects.html#get-single-project) 中的 `path_with_namespace` 欄位。如需 GitLab 中命名空間的詳細資訊，請參閱 https：//[https://docs.gitlab.com/ee/user/namespace/](https://docs.gitlab.com/ee/user/namespace/)。
**注意**  
對於 GitLab 中的群組，您必須使用 命名空間手動指定專案路徑。例如，針對群組 `myrepo`中名為 的儲存庫`mygroup`，輸入下列項目：`mygroup/myrepo`。您可以在 GitLab 的 URL 中找到具有 命名空間的專案路徑。

   

1. 在**來源版本 - 選用**中，輸入提取請求 ID、分支、遞交 ID、標籤或參考和遞交 ID。如需詳細資訊，請參閱[使用 的來源版本範例 AWS CodeBuild](sample-source-version.md)。
**注意**  
我們建議您選擇看起來不像遞交 IDs的 Git 分支名稱，例如 `811dd1ba1aba14473856cee38308caed7190c0d`或 `5392f7`。這可協助您避免 Git 結帳與實際遞交的衝突。

   

1. 在 **Git 複製深度 - 選用**中，您可以使用截斷至指定遞交數量的歷史記錄來建立淺複製。如果您想要完整複製，請選擇 **Full (完整)**。

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)的說明。