

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

# GitHub(OAuth 앱 사용) 소스 작업을 GitHub(GitHub 앱 사용) 소스 작업으로 업데이트
<a name="update-github-action-connections"></a>

에는 GitHub 소스 작업의 지원되는 두 AWS CodePipeline가지 버전이 있습니다.
+ **권장:** GitHub(GitHub 앱 사용) 작업은 [Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com 및 GitLab 자체 관리형 작업용 CodeStarSourceConnection](action-reference-CodestarConnectionSource.md) 리소스가 지원하는 Github 앱 기반 인증을 사용합니다. GitHub에서 액세스를 관리할 수 있도록 GitHub 조직에 AWS CodeStar Connections 애플리케이션을 설치합니다.
+ **권장되지 않음:** GitHub(OAuth 앱 사용) 작업은 OAuth 토큰을 사용하여 GitHub 인증을 수행하고 별도의 웹후크를 사용하여 변경 사항을 감지합니다. 이 방법은 더 이상 권장되지 않습니다.

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

GitHub(OAuth 앱 사용) 작업 대신 GitHub(GitHub 앱 사용) 작업을 사용하면 몇 가지 중요한 이점이 있습니다.
+ 연결을 통해 CodePipeline은 더 이상 OAuth 앱이나 개인 액세스 토큰이 없어도 리포지토리에 액세스할 수 있습니다. 연결을 만들 때 GitHub 리포지토리에 대한 인증을 관리하고 조직 수준에서 권한을 허용하는 GitHub 앱을 설치합니다. 리포지토리에 액세스하려면 사용자로서 OAuth 토큰을 승인해야 합니다. 앱 기반 GitHub 액세스와 대조되는 OAuth 기반 GitHub 액세스에 대한 자세한 내용은 [https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps](https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps)을 참조하세요.
+ CLI 또는 CloudFormation에서 GitHub(GitHub 앱 사용) 작업을 관리하면 더 이상 개인 액세스 토큰을 Secrets Manager에 보안 암호로 저장할 필요가 없습니다. 더 이상 CodePipeline 작업 구성에서 저장된 암호를 동적으로 참조할 필요가 없습니다. 대신 작업 구성에 연결 ARN을 추가합니다. 예제 작업 구성은 [Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com 및 GitLab 자체 관리형 작업용 CodeStarSourceConnection](action-reference-CodestarConnectionSource.md)을 참조하세요.
+ CodePipeline에서 GitHub(GitHub 앱 사용) 작업에 사용할 연결 리소스를 만들 때 동일한 연결 리소스를 사용하여 CodeGuru Reviewer와 같은 지원되는 다른 서비스를 리포지토리와 연결할 수 있습니다.
+ Github(GitHub 앱 사용)에서는 리포지토리를 복제하여 후속 CodeBuild 작업에서 git 메타데이터에 액세스할 수 있지만 Github(OAuth 앱 사용)에서는 소스만 다운로드할 수 있습니다.
+ 관리자가 조직의 리포지토리용 앱을 설치합니다. 토큰을 생성한 개인에 따라 달라지는 OAuth 토큰을 더 이상 추적할 필요가 없습니다.

조직에 설치된 모든 앱은 동일한 리포지토리 세트에 액세스할 수 있습니다. 각 리포지토리에 액세스할 수 있는 사용자를 변경하려면 각 연결에 대한 IAM 정책을 수정하세요. 예를 들면 [예: 지정된 리포지토리에 연결을 사용하기 위한 권한 범위 축소 정책](https://docs.aws.amazon.com/dtconsole/latest/userguide/security_iam_id-based-policy-examples-connections.html#security_iam_id-based-policy-examples-connections-reposcope)을 참조하세요.

이 주제의 단계를 사용하여 CodePipeline 콘솔에서 GitHub(OAuth 앱 사용) 소스 작업을 삭제하고 GitHub(GitHub 앱 사용) 소스 작업을 추가할 수 있습니다.

**Topics**
+ [1단계: (OAuth 앱 사용) GitHub 작업 교체](#connections-pipelines-github-action)
+ [2단계: GitHub에 대한 연결 생성](#connections-pipelines-github-create)
+ [3단계: GitHub 소스 작업 저장](#connections-pipelines-github-save)

## 1단계: (OAuth 앱 사용) GitHub 작업 교체
<a name="connections-pipelines-github-action"></a>

파이프라인 편집 페이지를 사용하여 GitHub(OAuth 앱 사용) 작업을 GitHub(GitHub 앱 사용) 작업으로 바꿉니다.

**GitHub(OAuth 앱 사용) 작업을 교체하려면 다음을 수행하세요.**

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

1. 파이프라인을 선택한 다음 **편집**을 선택합니다. 소스 단계에서 **단계 편집**을 선택합니다. 작업 업데이트를 권장하는 메시지가 표시됩니다.

1. **작업 공급자**에서 **GitHub(GitHub 앱 사용)**를 선택합니다.

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

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

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

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

1. **GitHub 연결 설정** 아래의 **연결 이름**에 연결 이름이 표시됩니다.

   **GitHub 앱**에서 앱 설치를 선택하거나 **새 앱 설치**를 선택하여 앱을 새로 만듭니다.
**참고**  
특정 공급자에 대한 모든 연결에 대해 하나의 앱을 설치합니다. GitHub 앱을 이미 설치한 경우 선택한 다음 이 단계를 건너뜁니다.

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

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

1. ** AWS CodeStar설치** 페이지에서 **설치**를 선택합니다.

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

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

**작업 편집** 페이지에서 업데이트를 완료하여 새 소스 작업을 저장합니다.

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

1. **리포지토리**에서 타사 리포지토리의 이름을 입력합니다. **브랜치**에서, 파이프라인에서 소스 변경 사항을 감지할 브랜치를 입력합니다.
**참고**  
**리포지토리**에 다음 예와 같이 `owner-name/repository-name`을 입력합니다.  

   ```
   my-account/my-repository
   ```

1. **출력 아티팩트 형식**에서 아티팩트의 형식을 선택합니다.
   + 기본 방법을 사용하여 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. **출력 아티팩트**에서 이 작업에 대한 출력 아티팩트의 이름을 유지할 수 있습니다(예: `SourceArtifact`). **완료**를 선택하여 **작업 편집** 페이지를 닫습니다.

1. **완료**를 선택하여 단계 편집 페이지를 닫습니다. **저장**을 선택하여 파이프라인 편집 페이지를 닫습니다.