

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

# CodeConnections를 사용하여 파이프라인에 타사 소스 공급자 추가
<a name="pipelines-connections"></a>

AWS CodePipeline 콘솔 또는 AWS CLI를 사용하여 파이프라인을 타사 리포지토리에 연결할 수 있습니다.

**참고**  
콘솔을 사용하여 파이프라인을 생성하거나 편집하면 변경 감지 리소스가 자동으로 생성됩니다. AWS CLI를 사용하여 파이프라인을 생성할 경우 추가 리소스를 직접 생성해야 합니다. 자세한 내용은 [CodeCommit 소스 작업 및 EventBridge](triggering.md) 섹션을 참조하세요.

**Topics**
+ [Azure DevOps 연결](connections-azure.md)
+ [Bitbucket Cloud 연결](connections-bitbucket.md)
+ [GitHub 연결](connections-github.md)
+ [GitHub Enterprise Server 연결](connections-ghes.md)
+ [GitLab.com 연결](connections-gitlab.md)
+ [GitLab 자체 관리형을 위한 연결](connections-gitlab-managed.md)
+ [다른 계정과 공유하는 연결 사용](connections-shared.md)

# Azure DevOps 연결
<a name="connections-azure"></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에 Azure DevOps 소스 작업을 추가하려면 다음 중 하나를 선택할 수 있습니다.
+ CodePipeline 콘솔 **파이프라인 생성** 마법사 또는 **작업 편집** 페이지를 사용하여 **Azure DevOps** 공급자 옵션을 선택합니다. 작업을 추가하려면 [Bitbucket Cloud에 대한 연결 생성(콘솔)](connections-bitbucket.md#connections-bitbucket-console)을 참조하세요. 콘솔을 사용하면 연결 리소스를 만들 수 있습니다.
+ 다음과 같이 CLI를 사용하여 `Azure DevOps` 공급자와 함께 `CreateSourceConnection` 작업에 대한 작업 구성을 추가합니다.
  + 연결 리소스를 생성하려면 [Azure DevOps에 대한 연결 생성(CLI)](#connections-azure-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)을 참조하세요.

시작하기 전:
+ Azure DevOps 같은 타사 리포지토리 공급자를 사용하여 계정을 생성해야 합니다.
+ Azure DevOps 리포지토리 같은 타사 코드 리포지토리를 미리 생성해야 합니다.

**참고**  
Azure DevOps 연결은 연결을 만드는 데 사용된 Azure DevOps 계정이 소유한 리포지토리에 대한 액세스 권한만 제공합니다.  
연결을 설치하려면 Azure 계정에 대한 **관리** 권한이 있어야 합니다.

**Topics**
+ [Azure DevOps에 대한 연결 생성(콘솔)](#connections-azure-console)
+ [Azure DevOps에 대한 연결 생성(CLI)](#connections-azure-cli)

## Azure DevOps에 대한 연결 생성(콘솔)
<a name="connections-azure-console"></a>

다음 단계를 사용하여 CodePipeline 콘솔을 사용하여 Azure DevOps 리포지토리에 연결 작업을 추가할 수 있습니다.

### 1단계: 파이프라인 생성 또는 편집
<a name="connections-azure-console-action"></a>

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

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

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

1. 다음 중 하나를 수행하세요.
   + **연결**에서 공급자와의 연결을 아직 생성하지 않은 경우 **Azure DevOps에 연결**을 선택합니다. 2단계: Azure DevOps에 대한 연결 생성으로 이동합니다.
   + **연결**에서 공급자와의 연결을 이미 생성한 경우 연결을 선택합니다. 3단계: 연결에 대한 소스 작업 저장으로 이동합니다.

### 2단계: Azure DevOps에 대한 연결 생성
<a name="connections-azure-console-create"></a>

**Azure DevOps에 대한 연결을 생성하려면 다음을 수행합니다.**

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

1. **Azure DevOps에 연결** 설정 페이지에 연결 이름이 표시됩니다.

   **Azure DevOps 앱**에서 앱 설치를 선택하거나 **새 앱 설치**를 선택하여 앱을 새로 만듭니다.
**참고**  
각 Azure DevOps 계정마다 앱을 한 번만 설치합니다. 커넥터 앱을 이미 설치한 경우 앱을 선택하고 이 섹션의 마지막 단계로 넘어갑니다.

1. Microsoft의 로그인 페이지가 표시되면 자격 증명으로 로그인한 다음 계속하도록 선택합니다.

1. 앱 설치 페이지에서 커넥터 앱이 Azure DevOps 계정에 연결하려고 한다는 메시지가 표시됩니다.

   **액세스 권한 부여**를 선택합니다.

1. 연결 페이지에서 새 설치의 연결 ID가 표시됩니다. **연결**을 선택합니다. 생성된 연결이 연결 목록에 표시됩니다.

### 3단계: Azure DevOps 소스 작업 저장
<a name="connections-azure-console-save"></a>

마법사 또는 **작업 편집** 페이지에서 다음 단계를 사용하여 소스 작업을 연결 정보와 함께 저장합니다.

**연결을 통해 소스 작업을 완료하고 저장하려면**

1. **리포지토리 이름**에서 타사 리포지토리의 이름을 선택합니다.

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

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

     이 옵션을 선택하면 [Bitbucket, GitHub, GitHub Enterprise Server 또는 GitLab.com 연결을 위한 CodeBuild GitClone 권한 추가](troubleshooting.md#codebuild-role-connections)과 같이 CodeBuild 프로젝트 서비스 역할에 대한 권한을 업데이트해야 합니다.

1. 마법사에서 **다음**을 선택하거나 **작업 편집** 페이지에서 **저장**을 선택합니다.

## Azure DevOps에 대한 연결 생성(CLI)
<a name="connections-azure-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** 명령을 실행합니다. 이 예제에서 타사 공급자 이름은 `AzureDevOps`이고 지정된 연결 이름은 `MyConnection`입니다.

   ```
   aws codeconnections create-connection --provider-type AzureDevOps --connection-name MyConnection
   ```

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

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections: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 정의의 파이프라인 수준에 Git 태그를 추가합니다. 이 예제에서, `release-v0` 및 `release-v1`은 포함할 Git 태그이고 `release-v2`는 제외할 Git 태그입니다.

     ```
     "triggers": [
                 {
                     "providerType": "CodeStarSourceConnection",
                     "gitConfiguration": {
                         "sourceActionName": "Source",
                         "push": [
                             {
                                 "tags": {
                                     "includes": [
                                         "release-v0", "release-v1"
                                     ],
                                     "excludes": [
                                         "release-v2"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```

# Bitbucket Cloud 연결
<a name="connections-bitbucket"></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에 Bitbucket Cloud 소스 작업을 추가하려면 다음 중 하나를 선택할 수 있습니다.
+ CodePipeline 콘솔 **파이프라인 생성** 마법사 또는 **작업 편집** 페이지를 사용하여 **Bitbucket** 공급자 옵션을 선택합니다. 작업을 추가하려면 [Bitbucket Cloud에 대한 연결 생성(콘솔)](#connections-bitbucket-console)을 참조하세요. 콘솔을 사용하면 연결 리소스를 만들 수 있습니다.
**참고**  
Bitbucket Cloud 리포지토리에 대한 연결을 생성할 수 있습니다. Bitbucket Server와 같은 설치된 Bitbucket 공급자 유형은 지원되지 않습니다.
+ 다음과 같이 CLI를 사용하여 `Bitbucket` 공급자와 함께 `CreateSourceConnection` 작업에 대한 작업 구성을 추가합니다.
  + 연결 리소스를 생성하려면 [Bitbucket Cloud에 대한 연결 생성(CLI)](#connections-bitbucket-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)을 참조하세요.

시작하기 전:
+ Bitbucket Cloud 같은 타사 리포지토리 공급자를 사용하여 계정을 생성해야 합니다.
+ Bitbucket Cloud 리포지토리 같은 타사 코드 리포지토리를 미리 생성해야 합니다.

**참고**  
Bitbucket Cloud 연결은 연결을 만드는 데 사용된 Bitbucket Cloud 계정이 소유한 리포지토리에 대한 액세스 권한만 제공합니다.  
Bitbucket Cloud WorkSpace에 애플리케이션을 설치하는 경우 **관리자 WorkSpace** 권한이 필요합니다. 그렇지 않은 경우 앱 설치 옵션이 표시되지 않습니다.

**Topics**
+ [Bitbucket Cloud에 대한 연결 생성(콘솔)](#connections-bitbucket-console)
+ [Bitbucket Cloud에 대한 연결 생성(CLI)](#connections-bitbucket-cli)

## Bitbucket Cloud에 대한 연결 생성(콘솔)
<a name="connections-bitbucket-console"></a>

다음 단계를 사용하여 CodePipeline 콘솔을 사용하여 Bitbucket 리포지토리에 연결 작업을 추가할 수 있습니다.

**참고**  
Bitbucket Cloud 리포지토리에 대한 연결을 생성할 수 있습니다. Bitbucket Server와 같은 설치된 Bitbucket 공급자 유형은 지원되지 않습니다.

### 1단계: 파이프라인 생성 또는 편집
<a name="connections-bitbucket-console-action"></a>

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

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

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

1. 다음 중 하나를 수행하세요.
   + **연결**에서 공급자와의 연결을 아직 생성하지 않은 경우 **Bitbucket에 연결**을 선택합니다. 2단계: Bitbucket에 대한 연결 생성으로 이동합니다.
   + **연결**에서 공급자와의 연결을 이미 생성한 경우 연결을 선택합니다. 3단계: 연결에 대한 소스 작업 저장으로 이동합니다.

### 2단계: Bitbucket Cloud에 대한 연결 생성
<a name="connections-bitbucket-console-create"></a>

**Bitbucket Cloud에 대한 연결을 생성하려면**

1. **Bitbucket에 연결** 설정 페이지에서 연결 이름을 입력하고 **Bitbucket에 연결**을 선택합니다.  
![\[Bitbucket에 연결 버튼을 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/create-connection-bitbucket.png)

   **Bitbucket 앱** 필드가 나타납니다.

1. [**Bitbucket 앱(Bitbucket apps)**]에서 앱 설치를 선택하거나 [**새 앱 설치(Install a new app)**]을 선택하여 앱을 새로 만듭니다.
**참고**  
각 Bitbucket Cloud WorkSpace 또는 계정마다 앱을 한 번만 설치합니다. Bitbucket 앱을 이미 설치한 경우 앱을 선택하고 4단계로 넘어갑니다.  
![\[새 앱 설치 버튼이 있는 Bitbucket 클라우드에 연결 대화 상자를 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/newreview-source-wizard-bitbucket.png)

1. Bitbucket Cloud의 로그인 페이지가 표시되면 자격 증명으로 로그인한 다음 계속하도록 선택합니다.

1. 앱 설치 페이지에서 AWS CodeStar 앱이 Bitbucket 계정에 연결하려고 한다는 메시지가 표시됩니다.

   Bitbucket WorkSpace를 사용하는 경우 **Authorization for**(권한 부여 대상) 옵션을 WorkSpace로 변경합니다. 관리자 권한이 있는 WorkSpace만 표시됩니다.

   **액세스 권한 부여**를 선택합니다.

1. [**Bitbucket 앱(Bitbucket apps)**]을 선택하면 새 설치의 연결 ID가 표시됩니다. **연결**을 선택합니다. 생성된 연결이 연결 목록에 표시됩니다.  
![\[액세스 요청을 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/create-connection-bitbucket-app-ID.png)

### 3단계: Bitbucket Cloud 소스 작업 저장
<a name="connections-bitbucket-console-save"></a>

마법사 또는 **작업 편집** 페이지에서 다음 단계를 사용하여 소스 작업을 연결 정보와 함께 저장합니다.

**연결을 통해 소스 작업을 완료하고 저장하려면**

1. **리포지토리 이름**에서 타사 리포지토리의 이름을 선택합니다.

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

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

     이 옵션을 선택하면 [Bitbucket, GitHub, GitHub Enterprise Server 또는 GitLab.com 연결을 위한 CodeBuild GitClone 권한 추가](troubleshooting.md#codebuild-role-connections)과 같이 CodeBuild 프로젝트 서비스 역할에 대한 권한을 업데이트해야 합니다.

1. 마법사에서 **다음**을 선택하거나 **작업 편집** 페이지에서 **저장**을 선택합니다.

## Bitbucket Cloud에 대한 연결 생성(CLI)
<a name="connections-bitbucket-cli"></a>

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

**참고**  
Bitbucket Cloud 리포지토리에 대한 연결을 생성할 수 있습니다. Bitbucket Server와 같은 설치된 Bitbucket 공급자 유형은 지원되지 않습니다.

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

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

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

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

   ```
   aws codestar-connections create-connection --provider-type Bitbucket --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 정의의 파이프라인 수준에 Git 태그를 추가합니다. 이 예제에서, `release-v0` 및 `release-v1`은 포함할 Git 태그이고 `release-v2`는 제외할 Git 태그입니다.

     ```
     "triggers": [
                 {
                     "providerType": "CodeStarSourceConnection",
                     "gitConfiguration": {
                         "sourceActionName": "Source",
                         "push": [
                             {
                                 "tags": {
                                     "includes": [
                                         "release-v0", "release-v1"
                                     ],
                                     "excludes": [
                                         "release-v2"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```

# GitHub 연결
<a name="connections-github"></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에서 GitHub 또는 GitHub Enterprise Cloud 리포지토리의 소스 작업을 추가하려면 다음 중 하나를 선택할 수 있습니다.
+ CodePipeline 콘솔 **파이프라인 생성** 마법사 또는 **작업 편집** 페이지를 사용하여 **GitHub(GitHub 앱 사용)** 공급자 옵션을 선택합니다. 작업을 추가하려면 [GitHub Enterprise Server에 대한 연결 생성(콘솔)](connections-ghes.md#connections-ghes-console)을 참조하세요. 콘솔을 사용하면 연결 리소스를 만들 수 있습니다.
**참고**  
GitHub 연결을 추가하고 파이프라인에서 **전체 복제** 옵션을 사용하여 메타데이터를 복제하는 방법을 안내하는 자습서는 [자습서: GitHub 파이프라인 소스와 함께 전체 복제 사용](tutorials-github-gitclone.md) 섹션을 참조하세요.
+ [파이프라인 생성(CLI)](pipelines-create.md#pipelines-create-cli)에 표시된 CLI 단계를 통해 CLI를 사용하여 `GitHub` 공급자와 함께 `CodeStarSourceConnection` 작업에 대한 작업 구성을 추가합니다.

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

시작하기 전:
+ GitHub 계정이 생성되어 있어야 합니다.
+ GitHub 코드 리포지토리가 이미 생성되어 있어야 합니다.
+ CodePipeline 서비스 역할이 2019년 12월 18일 이전에 생성된 경우, AWS CodeStar 연결에 대해 `codestar-connections:UseConnection`을 사용하도록 권한을 업데이트해야 할 수 있습니다. 지침은 [CodePipeline 서비스 역할에 권한 추가](how-to-custom-role.md#how-to-update-role-new-services) 섹션을 참조하세요.

**참고**  
연결을 생성하려면 GitHub 조직 소유자여야 합니다. 조직 소속이 아닌 리포지토리의 경우 리포지토리 소유자여야 합니다.

**Topics**
+ [GitHub에 대한 연결 생성(콘솔)](#connections-github-console)
+ [GitHub에 대한 연결 생성(CLI)](#connections-github-cli)

## GitHub에 대한 연결 생성(콘솔)
<a name="connections-github-console"></a>

다음 단계를 사용하여 CodePipeline 콘솔을 사용하여 GitHub 또는 GitHub Enterprise Cloud 리포지토리에 연결 작업을 추가할 수 있습니다.

**참고**  
이 단계에서는 **리포지토리 액세스**에서 특정 리포지토리를 선택할 수 있습니다. 선택되지 않은 리포지토리는 CodePipeline에서 접근하거나 볼 수 없습니다.

### 1단계: 파이프라인 생성 또는 편집
<a name="connections-github-console-action"></a>

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

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

1. 다음 중 하나를 수행하세요.
   + **연결**에서 공급자와의 연결을 아직 생성하지 않은 경우 **GitHub에 연결**을 선택합니다. 2단계: GitHub에 대한 연결 생성으로 이동합니다.
   + **연결**에서 공급자와의 연결을 이미 생성한 경우 연결을 선택합니다. 3단계: 연결에 대한 소스 작업 저장으로 이동합니다.

### 2단계: GitHub에 대한 연결 생성
<a name="connections-github-console-create"></a>

연결을 생성하도록 선택하면 **GitHub에 연결** 페이지가 표시됩니다.

![\[초기 GitHub 연결 페이지를 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/github-conn.png)


**GitHub에 대한 연결을 생성하려면**

1. **GitHub connection settings**(GitHub 연결 설정) 아래의 **Connection name**(연결 이름)에 연결 이름이 표시됩니다. **GitHub에 연결**을 선택합니다. 액세스 요청 페이지가 표시됩니다.

1. **GitHub용 AWS 커넥터 권한 부여**를 선택합니다. 연결 페이지가 나타나고 [**GitHub 앱(GitHub Apps)**] 필드가 표시됩니다.  
![\[GitHub 앱 필드가 있는 초기 GitHub 연결 페이지를 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/github-conn-access-app.png)

1. [**GitHub 앱(GitHub apps)**]에서 앱 설치를 선택하거나 [**새 앱 설치(Install a new app)**]을 선택하여 앱을 새로 만듭니다.

   특정 공급자에 대한 모든 연결에 대해 하나의 앱을 설치합니다. AWS Connector for GitHub 앱을 이미 설치한 경우 해당 앱을 선택하고이 단계를 건너뜁니다.
**참고**  
[ 사용자 액세스 토큰](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)을 생성하려면 GitHub용 AWS 커넥터 앱을 이미 설치했는지 확인한 다음 앱 설치 필드를 비워 둡니다. CodeConnections는 연결에 사용자 액세스 토큰을 사용합니다.

1. **GitHub용 AWS 커넥터 설치** 페이지에서 앱을 설치할 계정을 선택합니다.
**참고**  
각 GitHub 계정마다 앱을 한 번만 설치합니다. 이전에 앱을 설치한 경우 [**구성(Configure)**]을 선택하여 앱 설치의 수정 페이지로 이동하거나 뒤로 버튼을 사용하여 콘솔로 돌아갈 수 있습니다.

1. **GitHub용 AWS 커넥터 설치** 페이지에서 기본값을 그대로 두고 **설치를** 선택합니다.

1. [**GitHub에 연결(Connect to GitHub)**] 페이지의 [**GitHub 앱(GitHub Apps)**]에 새 설치의 연결 ID가 표시됩니다. **연결**을 선택합니다.

### 3단계: GitHub 소스 작업 저장
<a name="connections-github-console-save"></a>

**작업 편집** 페이지에서 다음 단계를 사용하여 소스 작업을 연결 정보와 함께 저장합니다.

**GitHub 소스 작업을 저장하려면**

1. **리포지토리 이름**에서 타사 리포지토리의 이름을 선택합니다.

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

1. **Output artifact format(출력 아티팩트 형식)**에서 아티팩트의 형식을 선택해야 합니다.
   + 기본 방법을 사용하여 GitHub 작업의 출력 아티팩트를 저장하려면 **CodePipeline 기본 방법**을 선택합니다. 그러면 GitHub 리포지토리의 파일에 액세스하여 파이프라인 아티팩트 스토어에 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. 마법사에서 **다음**을 선택하거나 **작업 편집** 페이지에서 **저장**을 선택합니다.

## GitHub에 대한 연결 생성(CLI)
<a name="connections-github-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** 명령을 실행합니다. 이 예제에서 타사 공급자 이름은 `GitHub`이고 지정된 연결 이름은 `MyConnection`입니다.

   ```
   aws codestar-connections create-connection --provider-type GitHub --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"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```

# GitHub Enterprise Server 연결
<a name="connections-ghes"></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에 GitHub Enterprise Server 소스 작업을 추가하려면 다음 중 하나를 선택할 수 있습니다.
+ CodePipeline 콘솔 **파이프라인 생성** 마법사 또는 **작업 편집** 페이지를 사용하여 **GitHub Enterprise Server** 공급자 옵션을 선택합니다. 작업을 추가하려면 [GitHub Enterprise Server에 대한 연결 생성(콘솔)](#connections-ghes-console)을 참조하세요. 콘솔을 사용하면 호스트 리소스와 연결 리소스를 만들 수 있습니다.
+ CLI를 사용하여 `GitHubEnterpriseServer` 공급자와 함께 `CreateSourceConnection` 작업에 대한 작업 구성을 추가하고 리소스를 생성합니다.
  + 연결 리소스를 생성하려면 [GitHub Enterprise Server에 대한 연결 및 호스트 생성(CLI)](#connections-ghes-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)을 참조하세요.

시작하기 전:
+ GitHub Enterprise Server에 계정을 생성하고 인프라에 GitHub Enterprise Server 인스턴스를 설치해야 합니다.
**참고**  
각 VPC는 한 번에 하나의 호스트(GitHub 엔터프라이즈 서버 인스턴스)에만 연결 가능합니다.
+ GitHub Enterprise Server가 있는 코드 리포지토리가 생성되어 있어야 합니다.

**Topics**
+ [GitHub Enterprise Server에 대한 연결 생성(콘솔)](#connections-ghes-console)
+ [GitHub Enterprise Server에 대한 연결 및 호스트 생성(CLI)](#connections-ghes-cli)

## GitHub Enterprise Server에 대한 연결 생성(콘솔)
<a name="connections-ghes-console"></a>

다음 단계를 사용하여 CodePipeline 콘솔을 사용하여 GitHub Enterprise Server 리포지토리에 연결 작업을 추가할 수 있습니다.

**참고**  
GitHub Enterprise Server 연결은 연결을 만드는 데 사용된 GitHub Enterprise Server 계정이 소유한 리포지토리에 대한 액세스 권한만 제공합니다.

**시작하기 전:**

GitHub Enterprise Server에 대한 호스트 연결의 경우 연결에 대한 호스트 리소스를 생성하기 위한 단계를 완료해야 합니다. [연결을 위한 호스트 관리](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-hosts.html)를 참조하세요.

### 1단계: 파이프라인 생성 또는 편집
<a name="connections-ghes-console-action"></a>

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

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

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

1. 다음 중 하나를 수행하세요.
   + **연결**에서 공급자와의 연결을 아직 생성하지 않은 경우 **GitHub Enterprise Server에 연결**을 선택합니다. 2단계: GitHub Enterprise Server에 대한 연결 생성으로 이동합니다.
   + **연결**에서 공급자와의 연결을 이미 생성한 경우 연결을 선택합니다. 3단계: 연결에 대한 소스 작업 저장으로 이동합니다.

### GitHub Enterprise Server에 대한 연결 생성
<a name="connections-ghes-console-create"></a>

연결을 생성하도록 선택하면 **GitHub Enterprise Server에 연결** 페이지가 표시됩니다.

**중요**  
AWS CodeConnections 는 릴리스에서 알려진 문제로 인해 GitHub Enterprise Server 버전 2.22.0을 지원하지 않습니다. 연결하려면 버전 2.22.1 또는 사용 가능한 최신 버전으로 업그레이드하세요.

**GitHub Enterprise Server에 연결하려면**

1. [**연결 이름(Connection name)**]에 연결 이름을 입력합니다.

1. [**URL**]에 서버의 엔드포인트를 입력합니다.
**참고**  
제공된 URL이 연결을 위해 GitHub Enterprise Server를 설정하는 데 이미 사용된 경우, 해당 엔드포인트에 대해 이전에 생성된 호스트 리소스 ARN을 선택하라는 메시지가 표시됩니다.

1. Amazon VPC로 서버를 시작한 후 VPC에 연결하려는 경우 [**VPC 사용(Use a VPC)**]을 선택하고 다음을 완료합니다.

   1. [**VPC ID**]에서 VPC ID를 선택합니다. GitHub Enterprise Server 인스턴스가 설치된 인프라의 VPC를 선택하거나 VPN 또는 Direct Connect를 통해 GitHub Enterprise Server 인스턴스에 액세스할 수 있는 VPC를 선택해야 합니다.

   1. [**서브넷 ID(Subnet ID)**]를 선택하고 [**추가(Add)**]를 선택합니다. 해당 필드에서 호스트에 사용할 서브넷 ID를 선택합니다. 서브넷은 최대 10개까지 선택할 수 있습니다.

      GitHub Enterprise Server 인스턴스가 설치된 인프라의 서브넷를 선택하거나 VPN 또는 Direct Connect를 통해 설치된 GitHub Enterprise Server 인스턴스에 액세스할 수 있는 서브넷을 선택해야 합니다.

   1. [**보안 그룹 ID(Security group IDs)**]에서 [**추가(Add)**]를 선택합니다. 해당 필드에서 호스트에 사용할 보안 그룹을 선택합니다. 보안 그룹은 최대 10개까지 선택할 수 있습니다.

      GitHub Enterprise Server 인스턴스가 설치된 인프라의 보안 그룹을 선택하거나 VPN 또는 Direct Connect를 통해 설치된 GitHub Enterprise Server 인스턴스에 액세스할 수 있는 보안 그룹을 선택해야 합니다.

   1. 프라이빗 VPC 가 구성되어 있고 퍼블릭이 아닌 인증 기관을 사용하여 TLS 검증을 수행하도록 GitHub Enterprise Server 인스턴스를 구성한 경우 [**TLS 인증서(TLS certificate)**]에 인증서 ID를 입력합니다. TLS 인증서 값은 인증서의 퍼블릭 키여야 합니다.  
![\[VPC 옵션의 GitHub Enterprise Server 연결 생성 페이지를 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/connections-create-ghes-screen-vpc.png)

1. [**GitHub Enterprise Server Server에 연결(Connect to GitHub Enterprise Server)**]을 선택합니다. 생성된 연결은 [**대기 중(Pending)**] 상태로 표시됩니다. 사용자가 제공한 서버 정보를 사용하여 연결을 위한 호스트 리소스가 생성됩니다. 호스트 이름으로 URL이 사용됩니다.

1. [**보류 중인 연결을 업데이트(Update pending connection)**]를 선택합니다.

1. 메시지가 표시되면 GitHub Enterprise 로그인 페이지에서 GitHub Enterprise 자격 증명으로 로그인합니다.

1. [**GitHub 앱 생성(Create GitHub App)**] 페이지에서 앱의 이름을 선택합니다.

1. GitHub 승인 페이지에서 [**<app-name> 승인(Authorize <app-name>)**]을 선택합니다.

1. 앱 설치 페이지에, 커넥터 앱을 설치할 준비가 되었다는 메시지가 표시됩니다. 여러 조직이 있는 경우 앱을 설치할 조직을 선택하라는 메시지가 표시될 수 있습니다.

   앱을 설치할 리포지토리 설정을 선택합니다. **설치**를 선택합니다.

1. 연결 페이지에 생성된 연결이 [**사용 가능(Available)**] 상태로 표시됩니다.

### 3단계: GitHub Enterprise Server 소스 작업 저장
<a name="connections-ghes-console-save"></a>

마법사 또는 **작업 편집** 페이지에서 다음 단계를 사용하여 소스 작업을 연결 정보와 함께 저장합니다.

**연결을 통해 소스 작업을 완료하고 저장하려면**

1. **리포지토리 이름**에서 타사 리포지토리의 이름을 선택합니다.

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

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

1. 마법사에서 **다음**을 선택하거나 **작업 편집** 페이지에서 **저장**을 선택합니다.

## GitHub Enterprise Server에 대한 연결 및 호스트 생성(CLI)
<a name="connections-ghes-cli"></a>

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

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

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

 AWS Command Line Interface (AWS CLI)를 사용하여 설치된 연결을 위한 호스트를 생성할 수 있습니다.

**참고**  
GitHub Enterprise Server 계정별로 한 번만 호스트를 생성합니다. 특정 GitHub Enterprise Server 계정에 대한 모든 연결은 동일한 호스트를 사용합니다.

호스트를 사용하여 서드 파티 공급자가 설치된 인프라의 엔드포인트를 나타냅니다. CLI를 사용하여 호스트 생성을 완료하면 호스트가 **보류 중** 상태입니다. 그러면 호스트를 설정 또는 등록하여 **사용 가능** 상태로 전환합니다. 호스트를 사용할 수 있게 되면 연결을 생성하는 단계를 완료합니다.

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

**중요**  
를 통해 생성된 호스트 AWS CLI 는 기본적으로 `Pending` 상태입니다. CLI를 사용하여 호스트를 생성한 후 콘솔 또는 CLI를 통해 호스트를 설정하여 호스트를 상태를 `Available`로 전환합니다.

**호스트를 생성하는 방법**

1. 터미널(Linux, macOS, Unix) 또는 명령 프롬프트(Windows)를 엽니다. AWS CLI 를 사용하여 연결을 `--provider-endpoint` 위해 `--name`, `--provider-type`및를 지정하여 **create-host** 명령을 실행합니다. 이 예제에서 서드 파티 공급자 이름은 `GitHubEnterpriseServer`이고 엔드포인트는 `my-instance.dev`입니다.

   ```
   aws codestar-connections create-host --name MyHost --provider-type GitHubEnterpriseServer --provider-endpoint "https://my-instance.dev"
   ```

   이 명령이 제대로 실행되면 다음과 비슷한 호스트 Amazon 리소스 이름(ARN) 정보가 반환됩니다.

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

   이 단계가 끝나면 호스트는 `PENDING` 상태입니다.

1. 콘솔을 사용하여 호스트 설정을 완료하고 호스트를 `Available` 상태로 전환합니다.

**GitHub Enterprise Server에 대한 연결을 생성하려면**

1. 터미널(Linux, macOS, Unix) 또는 명령 프롬프트(Windows)를 엽니다. AWS CLI 를 사용하여 연결을 `--connection-name` 위해 `--host-arn` 및를 지정하여 **create-connection** 명령을 실행합니다.

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

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

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

1. 콘솔을 사용하여 보류 중인 연결을 설정합니다.

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"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```

# 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"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```

# GitLab 자체 관리형을 위한 연결
<a name="connections-gitlab-managed"></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 자체 관리형 소스 작업을 추가하려면 다음 중 하나를 선택할 수 있습니다.
+ CodePipeline 콘솔 **파이프라인 생성** 마법사 또는 **작업 편집** 페이지를 사용하여 **GitLab 자체 관리형** 공급자 옵션을 선택합니다. 작업을 추가하려면 [GitLab 자체 관리형에 대한 연결 생성(콘솔)](#connections-gitlab-managed-console)을 참조하세요. 콘솔을 사용하면 호스트 리소스와 연결 리소스를 만들 수 있습니다.
+ CLI를 사용하여 `GitLabSelfManaged` 공급자와 함께 `CreateSourceConnection` 작업에 대한 작업 구성을 추가하고 리소스를 생성합니다.
  + 연결 리소스를 생성하려면 [호스트를 만들고 GitLab 자체 관리형에 연결(CLI)](#connections-gitlab-managed-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에 계정을 만들고 자체 관리형 설치가 가능한 GitLab Enterprise Edition 또는 GitLab Community Edition을 보유하고 있어야 합니다. 자세한 내용은 [https://docs.gitlab.com/ee/subscriptions/self\$1managed/](https://docs.gitlab.com/ee/subscriptions/self_managed/)을 참조하십시오.
**참고**  
연결은 연결을 만들고 권한을 부여하는 데 사용된 계정에 대한 액세스 권한만 제공합니다.
**참고**  
GitLab에서 **소유자** 역할을 가진 리포지토리에 대한 연결을 생성한 다음 CodePipeline과 같은 리소스에서 해당 연결을 사용할 수 있습니다. 그룹 내 리포지토리의 경우 그룹 소유자가 아니어도 됩니다.
+ 범위가 축소된 권한(api.)만 있는 GitLab 개인용 액세스 토큰(PAT)을 이미 생성했어야 합니다. 자세한 내용은 [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를 삭제하면 됩니다.
+ 호스트를 미리 설정하도록 선택할 수 있습니다. VPC가 있든 없든 호스트를 설정할 수 있습니다. VPC 구성에 대한 세부 정보 및 호스트 생성에 대한 추가 정보는 [호스트 만들기](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html)를 참조하십시오.

**Topics**
+ [GitLab 자체 관리형에 대한 연결 생성(콘솔)](#connections-gitlab-managed-console)
+ [호스트를 만들고 GitLab 자체 관리형에 연결(CLI)](#connections-gitlab-managed-cli)

## GitLab 자체 관리형에 대한 연결 생성(콘솔)
<a name="connections-gitlab-managed-console"></a>

다음 단계를 사용하여 CodePipeline 콘솔을 사용하여 GitLab 자체 관리형 리포지토리에 대한 연결 작업을 추가할 수 있습니다.

**참고**  
GitLab 자체 관리형 연결은 연결을 만드는 데 사용된 GitLab 자체 관리형 계정이 소유한 리포지토리에 대한 액세스 권한만 제공합니다.

**시작하기 전:**

GitLab 자체 관리형에 대한 호스트 연결의 경우 연결에 대한 호스트 리소스를 생성하기 위한 단계를 완료해야 합니다. [연결을 위한 호스트 관리](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-hosts.html)를 참조하세요.

### 1단계: 파이프라인 생성 또는 편집
<a name="connections-gitlab-managed-console-action"></a>

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

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

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

1. 다음 중 하나를 수행하세요.
   + **연결**에서 공급자와의 연결을 아직 생성하지 않은 경우 **GitLab 자체 관리형에 연결**을 선택합니다. 2단계: GitLab 자체 관리형에 대한 연결 생성으로 이동합니다.
   + **연결**에서 공급자에 대한 연결을 이미 생성한 경우 해당 연결을 선택한 후 3단계: GitLab 자체 관리형 소스 작업 저장을 진행합니다.

### 2단계: GitLab 자체 관리형에 대한 연결 생성
<a name="connections-gitlab-managed-console-create"></a>

연결을 생성하도록 선택하면 **GitLab 자체 관리형에 연결** 페이지가 표시됩니다.

**GitLab 자체 관리형에 연결하려면**

1. [**연결 이름(Connection name)**]에 연결 이름을 입력합니다.

1. [**URL**]에 서버의 엔드포인트를 입력합니다.
**참고**  
제공된 URL이 연결을 위해 호스트를 설정하는 데 이미 사용된 경우, 해당 엔드포인트에 대해 이전에 생성된 호스트 리소스 ARN을 선택하라는 메시지가 표시됩니다.

1. Amazon VPC로 서버를 시작한 후 VPC에 연결하려는 경우 **VPC 사용**을 선택하고 VPC를 위한 정보를 작성합니다.

1. **GitLab 자체 관리형에 연결**을 선택합니다. 생성된 연결은 [**대기 중(Pending)**] 상태로 표시됩니다. 사용자가 제공한 서버 정보를 사용하여 연결을 위한 호스트 리소스가 생성됩니다. 호스트 이름으로 URL이 사용됩니다.

1. [**보류 중인 연결을 업데이트(Update pending connection)**]를 선택합니다.

1. 공급자로 계속 이동할지 확인하는 리디렉션 메시지가 포함된 페이지가 열리면 **계속**을 선택합니다. 공급자에 대한 승인을 입력합니다.

1. ***host\$1name* 설정** 페이지가 표시됩니다. **개인용 액세스 토큰 제공**에서 GitLab PAT에 다음과 같은 범위 축소 권한인 `api`만 제공하십시오.
**참고**  
관리자만 PAT를 생성하고 사용할 수 있습니다.

   **계속**을 선택합니다.  
![\[새 호스트의 GitLab 자체 관리형 개인용 액세스 토큰 항목을 보여주는 콘솔 스크린샷\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/connections-create-glsm-pat.png)

1. 연결 페이지에 생성된 연결이 [**사용 가능(Available)**] 상태로 표시됩니다.

### 3단계: GitLab 자체 관리형 소스 작업 저장
<a name="connections-gitlab-managed-console-save"></a>

마법사 또는 **작업 편집** 페이지에서 다음 단계를 사용하여 소스 작업을 연결 정보와 함께 저장합니다.

**연결을 통해 소스 작업을 완료하고 저장하려면**

1. **리포지토리 이름**에서 타사 리포지토리의 이름을 선택합니다.

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

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

1. 마법사에서 **다음**을 선택하거나 **작업 편집** 페이지에서 **저장**을 선택합니다.

## 호스트를 만들고 GitLab 자체 관리형에 연결(CLI)
<a name="connections-gitlab-managed-cli"></a>

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

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

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

 AWS Command Line Interface (AWS CLI)를 사용하여 설치된 연결을 위한 호스트를 생성할 수 있습니다.

호스트를 사용하여 서드 파티 공급자가 설치된 인프라의 엔드포인트를 나타냅니다. CLI를 사용하여 호스트 생성을 완료하면 호스트가 **보류 중** 상태입니다. 그러면 호스트를 설정 또는 등록하여 **사용 가능** 상태로 전환합니다. 호스트를 사용할 수 있게 되면 연결을 생성하는 단계를 완료합니다.

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

**중요**  
를 통해 생성된 호스트 AWS CLI 는 기본적으로 `Pending` 상태입니다. CLI를 사용하여 호스트를 생성한 후 콘솔 또는 CLI를 통해 호스트를 설정하여 호스트를 상태를 `Available`로 전환합니다.

**호스트를 생성하는 방법**

1. 터미널(Linux, macOS, Unix) 또는 명령 프롬프트(Windows)를 엽니다. AWS CLI 를 사용하여 연결을 `--provider-endpoint` 위해 `--name`, `--provider-type`및를 지정하여 **create-host** 명령을 실행합니다. 이 예제에서 서드 파티 공급자 이름은 `GitLabSelfManaged`이고 엔드포인트는 `my-instance.dev`입니다.

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

   이 명령이 제대로 실행되면 다음과 비슷한 호스트 Amazon 리소스 이름(ARN) 정보가 반환됩니다.

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

   이 단계가 끝나면 호스트는 `PENDING` 상태입니다.

1. 콘솔을 사용하여 호스트 설정을 완료하고 호스트를 `Available` 상태로 전환합니다.

**GitLab 자체 관리형에 대한 연결을 생성하려면**

1. 터미널(Linux, macOS, Unix) 또는 명령 프롬프트(Windows)를 엽니다. AWS CLI 를 사용하여 연결을 `--connection-name` 위해 `--host-arn` 및를 지정하여 **create-connection** 명령을 실행합니다.

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

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

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

1. 콘솔을 사용하여 보류 중인 연결을 설정합니다.

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"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```

# 다른 계정과 공유하는 연결 사용
<a name="connections-shared"></a>

AWS RAM에서 공유 연결을 생성하고 관리할 수 있습니다. 이렇게 하면 타사 리포지토리에 액세스하기 위해 AWS 계정 간에 연결을 공유할 수 있습니다. 이를 통해 계정 간 CodePipeline 파이프라인에서 단일 연결을 사용하는 동시에 사용자가 각 계정에서 별도의 연결을 관리하고 운영할 필요성을 줄일 수 있습니다.

CodePipeline에서 공유 연결을 사용하려면 다음을 수행합니다.
+ **설정**의 개발자 도구 콘솔을 사용하여 연결을 생성합니다. [연결 생성](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html)을 참조하세요.
+ AWS RAM을 사용하여 리소스 공유를 설정합니다. [AWS 계정과의 연결 공유를 참조하세요](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-share.html).
+ CodePipeline 콘솔 **파이프라인 생성** 마법사 또는 **작업 편집** 페이지를 사용하여 **Bitbucket** 공급자 옵션과 같은 연결 공급자를 선택할 때 대상 계정과 공유된 연결을 선택할 수 있습니다.