GitHub 연결 - AWS CodePipeline

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

GitHub 연결

연결을 사용하여 타사 공급자를 AWS 리소스와 연결하는 구성을 승인하고 설정합니다.

참고

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

CodePipeline에서 GitHub 또는 GitHub Enterprise Cloud 리포지토리의 소스 작업을 추가하려면 다음 중 하나를 선택할 수 있습니다.

  • CodePipeline 콘솔 파이프라인 생성 마법사 또는 작업 편집 페이지를 사용하여 GitHub(GitHub 앱을 통해) 공급자 옵션을 선택합니다. 작업을 추가하려면 GitHub Enterprise Server에 대한 연결 생성(콘솔)을 참조하세요. 콘솔을 사용하면 연결 리소스를 만들 수 있습니다.

    참고

    GitHub 연결을 추가하고 파이프라인에서 전체 복제 옵션을 사용하여 메타데이터를 복제하는 방법을 안내하는 자습서는 자습서: GitHub 파이프라인 소스와 함께 전체 복제 사용 섹션을 참조하세요.

  • 파이프라인 생성(CLI)에 표시된 CLI 단계를 통해 CLI를 사용하여 GitHub 공급자와 함께 CodeStarSourceConnection 작업에 대한 작업 구성을 추가합니다.

참고

설정의 개발자 도구 콘솔을 사용하여 연결을 생성할 수도 있습니다. 연결 생성을 참조하세요.

시작하기 전:

  • GitHub 계정이 생성되어 있어야 합니다.

  • GitHub 코드 리포지토리가 이미 생성되어 있어야 합니다.

  • CodePipeline 서비스 역할이 2019년 12월 18일 이전에 생성된 경우, AWS CodeStar 연결에 대해 codestar-connections:UseConnection을 사용하도록 권한을 업데이트해야 할 수 있습니다. 지침은 CodePipeline 서비스 역할에 권한 추가 단원을 참조하십시오.

참고

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

GitHub에 대한 연결 생성(콘솔)

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

참고

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

1단계: 파이프라인 생성 또는 편집

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

  2. 다음 중 하나를 선택합니다.

    • 파이프라인을 생성하려면 선택합니다. 파이프라인 생성의 단계에 따라 첫 화면을 완료하고 다음을 선택합니다. 소스 페이지의 소스 공급자에서 GitHub(GitHub 앱을 통해)를 선택합니다.

    • 기존 파이프라인을 편집하려면 선택합니다. 편집을 선택하고 단계 편집을 선택합니다. 소스 작업을 추가 또는 편집하려면 선택합니다. 작업 편집 페이지의 작업 이름에 작업 이름을 입력합니다. 작업 공급자에서 GitHub(GitHub 앱을 통해)를 선택합니다.

  3. 다음 중 하나를 수행합니다.

    • 연결에서 공급자와의 연결을 아직 생성하지 않은 경우 GitHub에 연결을 선택합니다. 2단계: GitHub에 대한 연결 생성으로 이동합니다.

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

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

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

초기 GitHub 연결 페이지를 보여주는 콘솔 스크린샷입니다.
GitHub에 대한 연결을 생성하려면
  1. GitHub connection settings(GitHub 연결 설정) 아래의 Connection name(연결 이름)에 연결 이름이 표시됩니다. GitHub에 연결을 선택합니다. 액세스 요청 페이지가 표시됩니다.

  2. GitHub용 AWS 커넥터 승인을 선택합니다. 연결 페이지가 나타나고 [GitHub 앱(GitHub Apps)] 필드가 표시됩니다.

    GitHub 앱 필드가 있는 초기 GitHub 연결 페이지를 보여주는 콘솔 스크린샷입니다.
  3. [GitHub 앱(GitHub apps)]에서 앱 설치를 선택하거나 [새 앱 설치(Install a new app)]을 선택하여 앱을 새로 만듭니다.

    특정 공급자에 대한 모든 연결에 대해 하나의 앱을 설치합니다. GitHub용 AWS 커넥터를 이미 설치한 경우 해당 앱을 선택하고이 단계를 건너뜁니다.

    참고

    사용자 액세스 토큰을 생성하려면 GitHub용 AWS 커넥터 앱을 이미 설치했는지 확인한 다음 앱 설치 필드를 비워 둡니다. CodeConnections는 연결에 사용자 액세스 토큰을 사용합니다.

  4. GitHub용 AWS 커넥터 설치 페이지에서 앱을 설치할 계정을 선택합니다.

    참고

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

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

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

3단계: GitHub 소스 작업 저장

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

GitHub 소스 작업을 저장하려면
  1. 리포지토리 이름에서 타사 리포지토리의 이름을 선택합니다.

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

  3. Output artifact format(출력 아티팩트 형식)에서 아티팩트의 형식을 선택해야 합니다.

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

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

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

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

GitHub에 대한 연결 생성(CLI)

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

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

중요

AWS CLI 또는를 통해 생성된 연결 AWS CloudFormation 은 기본적으로 PENDING 상태입니다. CLI 또는 와의 연결을 생성한 후 콘솔을 AWS 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" }
  2. 콘솔을 사용하여 연결을 완료합니다. 자세한 내용은 보류 중인 연결 업데이트를 참조하세요.

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

    • 수동 릴리스로만 시작하도록 파이프라인 트리거 구성을 구성하려면 구성에 다음 줄을 추가하세요.

      "DetectChanges": "false",
    • 트리거로 필터링하도록 파이프라인 트리거 구성을 구성하려면 코드 푸시 또는 풀 요청 이벤트 유형을 사용하여 트리거 추가에서 자세한 내용을 참조하세요. 예를 들어, 다음은 파이프라인 JSON 정의의 파이프라인 수준에 추가됩니다. 이 예제에서, release-v0release-v1은 포함할 Git 태그이고 release-v2는 제외할 Git 태그입니다.

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