

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

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