

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# GitLab.com 연결
<a name="connections-gitlab"></a>

연결을 사용하면 타사 공급자를 AWS 리소스와 연결하는 구성을 승인하고 설정할 수 있습니다. 타사 리포지토리를 파이프라인의 소스로 연결하려면 연결을 사용합니다.

**참고**  
계정에서 기존 연결을 생성하거나 사용하는 대신 다른 AWS 계정간에 공유 연결을 사용할 수 있습니다. [다른 계정과 공유하는 연결 사용](connections-shared.md)을(를) 참조하세요.

**참고**  
아시아 태평양(홍콩), 아시아 태평양(하이데라바드), 아시아 태평양(자카르타), 아시아 태평양(멜버른), 아시아 태평양(오사카), 아프리카(케이프타운), 중동(바레인), 중동(UAE), 유럽(스페인), 유럽(취리히), 이스라엘(텔아비브) 또는 AWS GovCloud(미국 서부) 리전에서는이 기능을 사용할 수 없습니다. 사용 가능한 다른 작업을 참조하려면 [CodePipeline과 제품 및 서비스 통합](integrations.md)을 참조하세요. 유럽(밀라노) 리전에서 이 조치를 고려할 경우 [Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com 및 GitLab 자체 관리형 작업용 CodeStarSourceConnection](action-reference-CodestarConnectionSource.md)의 참고 사항을 참조하세요.

CodePipeline에 GitLab.com 소스 작업을 추가하려면 다음 중 하나를 선택할 수 있습니다.
+ CodePipeline 콘솔 **파이프라인 생성** 마법사 또는 **작업 편집** 페이지를 사용하여 **GitLab** 공급자 옵션을 선택합니다. 작업을 추가하려면 [GitLab.com에 대한 연결 생성(콘솔)](#connections-gitlab-console)을 참조하세요. 콘솔을 사용하면 연결 리소스를 만들 수 있습니다.
+ 다음과 같이 CLI를 사용하여 `GitLab` 공급자와 함께 `CreateSourceConnection` 작업에 대한 작업 구성을 추가합니다.
  + 연결 리소스를 생성하려면 [GitLab.com에 대한 연결 생성(CLI)](#connections-gitlab-cli)을 참조하여 CLI를 사용하여 연결 리소스를 생성합니다.
  + [Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com 및 GitLab 자체 관리형 작업용 CodeStarSourceConnection](action-reference-CodestarConnectionSource.md)의 `CreateSourceConnection` 예제 작업 구성을 사용하여 [파이프라인 생성(CLI)](pipelines-create.md#pipelines-create-cli)과 같이 작업을 추가합니다.

**참고**  
**설정**의 개발자 도구 콘솔을 사용하여 연결을 생성할 수도 있습니다. [연결 생성](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html)을 참조하세요.

**참고**  
GitLab.com에서 이 연결 설치를 승인하면 계정에 액세스하여 데이터를 처리할 수 있는 권한을 서비스에 부여하고 언제든지 애플리케이션을 제거하여 권한을 취소할 수 있습니다.

시작하기 전:
+ GitLab.com 계정이 이미 생성되어 있어야 합니다.
**참고**  
연결은 연결을 만들고 권한을 부여하는 데 사용된 계정이 소유한 리포지토리에 대한 액세스 권한만 제공합니다.
**참고**  
GitLab에서 **소유자** 역할을 가진 리포지토리에 대한 연결을 생성한 다음 CodePipeline과 같은 리소스가 있는 리포지토리에서 해당 연결을 사용할 수 있습니다. 그룹 내 리포지토리의 경우 그룹 소유자가 아니어도 됩니다.
+ 파이프라인 소스를 지정하려면 gitlab.com에 리포지토리가 이미 생성되어 있어야 합니다.

**Topics**
+ [GitLab.com에 대한 연결 생성(콘솔)](#connections-gitlab-console)
+ [GitLab.com에 대한 연결 생성(CLI)](#connections-gitlab-cli)

## GitLab.com에 대한 연결 생성(콘솔)
<a name="connections-gitlab-console"></a>

다음 단계를 사용하여 CodePipeline 콘솔을 사용하여 GitLab의 프로젝트(리포지토리)에 연결 작업을 추가할 수 있습니다.

**파이프라인을 생성 또는 편집하려면**

1. CodePipeline 콘솔에 로그인합니다.

1. 다음 중 하나를 선택합니다.
   + 파이프라인을 생성하려면 선택합니다. 파이프라인 생성의 단계에 따라 첫 화면을 완료하고 **다음**을 선택합니다.** **소스** 페이지의 **소스 공급자**에서 **GitLab**을 선택합니다.
   + 기존 파이프라인을 편집하려면 선택합니다. **편집**을 선택하고 **단계 편집**을 선택합니다. 소스 작업을 추가 또는 편집하려면 선택합니다. **작업 편집** 페이지의 **작업 이름**에 작업 이름을 입력합니다. **작업 공급자**에서 **GitLab**을 선택합니다.

1. 다음 중 하나를 수행하세요.
   + **연결**에서 공급자와의 연결을 아직 생성하지 않은 경우 **GitLab에 연결**을 선택합니다. 4단계로 이동하여 연결을 생성합니다.
   + **연결**에서 공급자와의 연결을 이미 생성한 경우 연결을 선택합니다. 9단계로 이동합니다.
**참고**  
GitLab.com 연결이 생성되기 전에 팝업 창을 닫으면 페이지를 새로 고쳐야 합니다.

1. GitLab.com 리포지토리에 대한 연결을 생성하려면 **공급자 선택**에서 **GitLab**을 선택합니다. [**연결 이름(Connection name)**]에 생성하려는 연결의 이름을 입력합니다. **GitLab에 연결**을 선택합니다.  
![\[GitLab에 대해 선택한 연결 옵션을 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/connections-create-gitlab.png)

1. GitLab.com의 로그인 페이지가 표시되면 로그인 보안 인증 정보를 입력한 다음 **로그인**을 선택합니다.

1. 처음 연결을 승인하는 경우에는 GitLab.com 계정에 액세스하기 위한 연결 승인을 요청하는 메시지와 함께 권한 부여 페이지가 표시됩니다.

   **Authorize**를 선택합니다.  
![\[GitLab.com 계정의 연결 승인 메시지를 보여주는 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/gitlab-authorization.png)

1. 브라우저가 연결 콘솔 페이지로 돌아갑니다. **GitLab 연결 생성**에서 **연결 이름**에 새 연결이 표시됩니다.

1. **GitLab에 연결**을 선택합니다.

   CodePipeline 콘솔로 돌아가게 됩니다.
**참고**  
GitLab.com 연결이 성공적으로 생성되면 성공 배너가 기본 창에 표시됩니다.  
 현재 시스템에서 이전에 GitLab에 로그인한 적이 없다면 팝업 창을 수동으로 닫아야 합니다.

1. **리포지토리 이름**에서 네임스페이스와 함께 프로젝트 경로를 지정하여 GitLab의 프로젝트 이름을 선택합니다. 예를 들어 그룹 수준 리포지토리의 경우 리포지토리 이름을 `group-name/repository-name` 형식으로 입력합니다. 경로와 네임스페이스에 대한 자세한 내용은 [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://docs.gitlab.com/ee/user/namespace/](https://docs.gitlab.com/ee/user/namespace/)를 참조하세요.
**참고**  
GitLab에 있는 그룹의 경우 네임스페이스를 사용하여 프로젝트 경로를 수동으로 지정해야 합니다. 예를 들어 그룹 `mygroup`의 `myrepo`라는 리포지토리의 경우 `mygroup/myrepo` 형식으로 입력합니다. GitLab의 URL에서 네임스페이스를 사용하여 프로젝트 경로를 찾을 수 있습니다.

1. 작업이 CodeConnections 작업인 경우 **파이프라인 트리거**에서 트리거를 추가할 수 있습니다. 파이프라인 트리거 구성을 구성하고 선택적으로 트리거로 필터링하려면 [코드 푸시 또는 풀 요청 이벤트 유형을 사용하여 트리거 추가](pipelines-filter.md)에서 자세한 내용을 참조하세요.

1. **브랜치 이름**에서, 파이프라인에서 소스 변경 사항을 감지할 브랜치를 선택합니다.
**참고**  
브랜치 이름이 자동으로 채워지지 않으면 리포지토리에 대한 **소유자** 액세스 권한이 없습니다. 프로젝트 이름이 유효하지 않거나 사용된 연결에 프로젝트/리포지토리에 대한 액세스 권한이 없습니다.

1. **Output artifact format(출력 아티팩트 형식)**에서 아티팩트의 형식을 선택해야 합니다.
   + 기본 방법을 사용하여 GitLab.com 작업의 출력 아티팩트를 저장하려면 **CodePipeline 기본 방법**을 선택합니다. 그러면 GitLab.com 리포지토리의 파일에 액세스하여 파이프라인 아티팩트 스토어에 ZIP 파일로 아티팩트가 저장됩니다.
   + 다운스트림 작업이 Git 명령을 직접 수행할 수 있도록 리포지토리에 대한 URL 참조가 포함된 JSON 파일을 저장하려면 **Full clone(전체 복제)**을 선택합니다. 이 옵션은 CodeBuild 다운스트림 작업에서만 사용할 수 있습니다.

     이 옵션을 선택하면 [Bitbucket, GitHub, GitHub Enterprise Server 또는 GitLab.com 연결을 위한 CodeBuild GitClone 권한 추가](troubleshooting.md#codebuild-role-connections)과 같이 CodeBuild 프로젝트 서비스 역할에 대한 권한을 업데이트해야 합니다. **전체 복제** 옵션을 사용하는 방법을 보여주는 자습서는 [자습서: GitHub 파이프라인 소스와 함께 전체 복제 사용](tutorials-github-gitclone.md)을 참조하세요.

1. 소스 작업을 저장하고 계속하도록 선택합니다.

## GitLab.com에 대한 연결 생성(CLI)
<a name="connections-gitlab-cli"></a>

 AWS Command Line Interface (AWS CLI)를 사용하여 연결을 생성할 수 있습니다.

이렇게 하려면 **create-connection** 명령을 사용합니다.

**중요**  
 AWS CLI 또는를 통해 생성된 연결 AWS CloudFormation 은 기본적으로 `PENDING` 상태입니다. CLI 또는 와의 연결을 생성한 후 콘솔을 CloudFormation사용하여 연결을 편집하여 상태를 로 설정합니다`AVAILABLE`.

**연결을 생성하는 방법**

1. 터미널(Linux, macOS, Unix) 또는 명령 프롬프트(Windows)를 엽니다. AWS CLI 를 사용하여 연결을 `--connection-name` 위해 `--provider-type` 및를 지정하여 **create-connection** 명령을 실행합니다. 이 예제에서 타사 공급자 이름은 `GitLab`이고 지정된 연결 이름은 `MyConnection`입니다.

   ```
   aws codestar-connections create-connection --provider-type GitLab --connection-name MyConnection
   ```

   이 명령이 제대로 실행되면 다음과 비슷한 연결 ARN 정보가 반환됩니다.

   ```
   {
       "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. 콘솔을 사용하여 연결을 완료합니다. 자세한 내용은 [보류 중인 연결 업데이트](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html)를 참조하세요.

1. 파이프라인은 기본적으로 연결 소스 리포지토리로 코드를 푸시할 때 변경 사항을 감지합니다. 수동 릴리스 또는 Git 태그에 대한 파이프라인 트리거 구성을 구성하려면 다음 중 하나를 수행합니다.
   + 수동 릴리스로만 시작하도록 파이프라인 트리거 구성을 구성하려면 구성에 다음 줄을 추가하세요.

     ```
     "DetectChanges": "false",
     ```
   + 트리거로 필터링하도록 파이프라인 트리거 구성을 구성하려면 [코드 푸시 또는 풀 요청 이벤트 유형을 사용하여 트리거 추가](pipelines-filter.md)에서 자세한 내용을 참조하세요. 예를 들어, 다음은 파이프라인 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"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```