GitHub 버전 1 소스 액션을 GitHub 버전 2 소스 액션으로 업데이트 - AWS CodePipeline

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

GitHub 버전 1 소스 액션을 GitHub 버전 2 소스 액션으로 업데이트

InAWS CodePipelineGitHub 소스 액션에는 두 가지 지원되는 버전이 있습니다.

  • 권장 사항: GitHub 버전 2 액션은CodeStarSourceConnection Bitbucket GitHub 및 GitHub 엔터프라이즈 서버 작업용리소스. GitHub에서 액세스를 관리할 수 있도록 AWS CodeStar 연결 애플리케이션을 GitHub 조직에 설치합니다.

  • 권장되지 않음: GitHub 버전 1 작업은 OAuth 토큰을 사용하여 GitHub로 인증하고 별도의 웹훅을 사용하여 변경 사항을 감지합니다. 더 이상 권장되는 방법이 아닙니다.

참고

아시아 태평양 (홍콩) 또는 유럽 (밀라노) 리전에서는 이 기능을 사용할 수 없습니다. 해당 리전에서 사용할 수 있는 다른 소스 작업을 사용하려면소스 작업 통합.

GitHub 버전 1 작업 대신 GitHub 버전 2 작업을 사용하면 몇 가지 중요한 장점이 있습니다.

  • 연결을 사용하면 CodePipeline은 더 이상 저장소에 액세스하는 데 OAuth 앱 또는 개인 액세스 토큰이 필요하지 않습니다. 연결을 만들 때 GitHub 저장소에 대한 인증을 관리하고 조직 수준에서 권한을 허용하는 GitHub 앱을 설치합니다. 저장소에 액세스하려면 OAuth 토큰을 사용자로 승인해야 합니다. 앱 기반 GitHub 액세스와 달리 OAuth 기반 GitHub 액세스에 대한 자세한 내용은 단원을 참조하십시오.https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps.

  • CLI 또는 CloudFormation에서 GitHub 버전 2 작업을 관리할 때 더 이상 개인 액세스 토큰을 Secrets Manager 비밀로 저장할 필요가 없습니다. CodePipeline 작업 구성에서 저장된 암호를 더 이상 동적으로 참조할 필요가 없습니다. 대신 작업 구성에 연결 ARN을 추가합니다. 작업 구성 예제는 단원을 참조하십시오.CodeStarSourceConnection Bitbucket GitHub 및 GitHub 엔터프라이즈 서버 작업용.

  • CodePipeline에서 GitHub 버전 2 작업에 사용할 연결 리소스를 만들 때 동일한 연결 리소스를 사용하여 CodeGuru Reviewer 검토자와 같은 다른 지원되는 서비스를 저장소와 연결할 수 있습니다.

  • Github 버전 2에서는 리포지토리를 복제하여 후속 CodeBuild 작업에서 git 메타데이터에 액세스할 수 있으며, Github 버전 1에서는 소스만 다운로드할 수 있습니다.

  • 관리자가 조직의 리포지토리에 사용할 앱을 설치합니다. 더 이상 토큰을 생성한 개인에 따라 OAuth 토큰을 추적할 필요가 없습니다.

조직에 설치된 모든 앱은 동일한 저장소 집합에 액세스할 수 있습니다. 각 리포지토리에 액세스할 수 있는 사용자를 변경하려면 각 연결에 대한 IAM 정책을 수정합니다. 예제는 단원을 참조하십시오.예: 지정된 리포지토리에 대한 연결을 사용하기 위한 권한 범위 축소 정책.

이 항목의 단계를 사용하여 GitHub 버전 1 소스 작업을 삭제하고 CodePipeline 콘솔에서 GitHub 버전 2 소스 작업을 추가할 수 있습니다.

1단계: 버전 1 GitHub 액션 바꾸기

파이프라인 편집 페이지를 사용하여 버전 1 GitHub 액션을 버전 2 GitHub 액션으로 바꿉니다.

버전 1 GitHub 액션을 바꾸려면
  1. CodePipeline 콘솔에 로그인합니다.

  2. 파이프라인을 선택하고Edit. 선택단계 편집소스 스테이지에서 작업을 업데이트할 것을 권장하는 메시지가 표시됩니다.

  3. In작업 공급자, 선택GitHub (버전 2).

  4. 다음 중 하나를 수행하세요.

    • UND연결아직 공급자에 대한 연결을 생성하지 않았다면 를 선택합니다.GitHub에 대한 Connect. 2단계로 이동합니다. GitHub에 대한 연결을 생성합니다.

    • UND연결, 공급자에 대한 연결을 이미 생성한 경우 연결을 선택합니다. 3단계로 이동합니다. 연결에 대한 소스 작업을 저장합니다.

2단계: GitHub에 대한 연결 생성

연결을 만들도록 선택한 후GitHub에 대한 Connect페이지가 표시됩니다.

GitHub에 대한 연결을 생성하려면
  1. UNDGitHub 연결 설정그러면 연결 이름이 에 표시됩니다.연결 이름.

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

    참고

    특정 공급자에 대한 모든 연결에 대해 하나의 앱을 설치합니다. 이미 GitHub 앱을 설치한 경우 앱을 선택하고 이 단계를 건너뛰십시오.

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

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

    참고

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

  4. AWS CodeStar 설치페이지, 선택설치.

  5. GitHub에 대한 Connect페이지에서 새 설치의 연결 ID가 표시됩니다. 연결(Connect)을 선택합니다.

3단계: GitHub 소스 액션 저장

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

GitHub 소스 액션을 저장하려면
  1. In리포지토리에서 타사 리포지토리의 이름을 입력합니다. In분기에서 파이프라인에서 소스 변경 사항을 감지할 브랜치를 입력합니다.

    참고

    In리포지토리, typeowner-name/repository-name이 예제에서 볼 수 있는 바와 같이

    my-account/my-repository
  2. In출력 아티팩트 형식에서 아티팩트의 형식을 선택합니다.

    • 기본 방법을 사용하여 GitHub 작업의 출력 아티팩트를 저장하려면CodePipeline 기본값. 그러면 GitHub 리포지토리의 파일에 액세스하여 파이프라인 아티팩트 스토어에 ZIP 파일로 아티팩트가 저장됩니다.

    • 다운스트림 작업이 Git 명령을 직접 수행할 수 있도록 리포지토리에 대한 URL 참조가 포함된 JSON 파일을 저장하려면 Full clone(전체 복제)을 선택합니다. 이 옵션은 CodeBuild 다운스트림 작업에서만 사용할 수 있습니다.

      이 옵션을 선택하면 에 표시된 대로 CodeBuild 프로젝트 서비스 역할에 대한 권한을 업데이트해야 합니다.Bitbucket 또는 GitHub 엔터프라이즈 서버에 연결하기 위한 CodeBuild GitClone 권한 추가 GitHub. 를 사용하는 방법을 보여 주는 자습서는전체 복제옵션, 참조자습서: GitHub 파이프라인 소스와 함께 전체 복제 사용.

  3. In출력 아티팩트를 선택하면 다음과 같은 작업에 대한 출력 아티팩트의 이름을 유지할 수 있습니다.SourceArtifact. 선택Done를 닫습니다.편집 작업페이지.

  4. 선택Done을 눌러 스테이지 편집 페이지를 닫습니다. 선택Save을 눌러 파이프라인 편집 페이지를 닫습니다.