View a markdown version of this page

GitHub 연결 - AWS DevOps 에이전트

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

GitHub 연결

GitHub 통합을 통해 AWS DevOps Agent는 인시던트 조사 중에 코드 리포지토리에 액세스하고 배포 이벤트를 수신할 수 있습니다. 이 통합은 GitHub의 계정 수준 등록 후 특정 리포지토리를 개별 에이전트 스페이스에 연결하는 2단계 프로세스를 따릅니다.

AWS DevOps Agent는 GitHub.com(SaaS), 데이터 레지던시가 있는 GitHub Enterprise Cloud(*.ghe.com) 및 GitHub Enterprise Server(자체 호스팅) 인스턴스를 지원합니다.

두 가지 방법으로 GitHub를 등록할 수 있습니다. 앱 등록은 계정 또는 조직에 AWS DevOps 에이전트 GitHub 앱을 설치합니다. GitHub 앱은 웹후크와 세분화된 권한을 지원하므로 대부분의 사용 사례에 권장됩니다. 개인 액세스 토큰은 GitHub 계정의 토큰으로 인증합니다. 웹후크 기반 기능이 필요하지 않은 경우 개별 액세스에 사용합니다. 자세한 내용은 개인 액세스 토큰으로 GitHub 등록을 참조하세요.

사전 조건

GitHub를 연결하기 전에 다음 사전 조건을 충족하는지 확인합니다.

  • AWS DevOps 에이전트 관리 콘솔에 액세스할 수 있습니다.

  • 관리자 권한이 있는 GitHub 사용자 계정 또는 조직이 있습니다.

  • 앱 등록의 경우 계정 또는 조직에 GitHub 앱을 설치할 수 있는 권한이 있습니다.

  • 개인 액세스 토큰 등록의 경우 개인 액세스 토큰 생성에 설명된 권한이 있는 개인 액세스 토큰이 있습니다.

GitHub Enterprise Server의 경우 다음 사항도 확인합니다.

  • HTTPS를 통해 액세스할 수 있는 GitHub Enterprise Server 인스턴스(버전 3.x 이상)가 있습니다.

  • GitHub Enterprise Server 인스턴스의 HTTPS URL이 있습니다(예: https://github.example.com).

  • (선택 사항) GitHub Enterprise Server 인스턴스에 공개적으로 액세스할 수 없는 경우 프라이빗 연결이 있습니다.

데이터 레지던시가 있는 GitHub Enterprise Cloud의 경우 다음 사항도 확인합니다.

  • 전용 *.ghe.com 하위 도메인에서 호스팅되는 데이터 레지던시가 활성화된 GitHub Enterprise Cloud 조직이 있습니다.

  • GitHub 앱을 생성하고 설치할 수 있는 권한을 포함하여 조직 관리자 권한이 있습니다.

  • 데이터 레지던시 인스턴스의 HTTPS URL이 있습니다(예: https://octocorp.ghe.com).

GitHub 등록(계정 수준)

GitHub는 AWS 계정 수준에서 등록되고 해당 계정의 모든 에이전트 스페이스 간에 공유됩니다. 각 등록은 하나의 GitHub 사용자, 하나의 조직 또는 하나의 GitHub Enterprise Server 인스턴스에 해당합니다.

1단계: 파이프라인 공급자로 이동

  1. AWS Management Console에 로그인

  2. AWS DevOps 에이전트 콘솔로 이동

  3. 기능 탭으로 이동

  4. 파이프라인 섹션에서 추가를 선택합니다.

  5. 사용 가능한 공급자 목록에서 GitHub를 선택합니다.

GitHub가 아직 등록되지 않은 경우 먼저 등록하라는 메시지가 표시됩니다.

2단계: 연결 유형 선택

GitHub 계정/조직 등록 화면의 연결 유형에서 AWS DevOps 에이전트가 GitHub에 연결하는 방법을 선택합니다.

  • 앱 등록(권장) - 계정 또는 조직에 AWS DevOps 에이전트 GitHub 앱을 설치합니다. GitHub 앱은 웹후크와 세분화된 권한을 지원합니다. 3단계를 계속합니다.

  • 개인 액세스 토큰 - GitHub 계정의 개인 액세스 토큰으로 인증합니다. 이 옵션은 개별 액세스를 제공하며 웹후크를 지원하지 않습니다. 이 섹션의 나머지 단계를 건너뛰고 개인 액세스 토큰으로 GitHub 등록을 참조하세요.

3단계: GitHub 앱 등록 구성

사용자 또는 조직으로 연결할지 여부를 선택합니다.

  • 사용자 - 사용자 이름과 프로필이 있는 개인 GitHub 계정

  • 조직 - 여러 사람이 여러 프로젝트에서 한 번에 협업할 수 있는 공유 GitHub 계정입니다. 조직을 선택하는 경우 GitHub 조직 이름을 입력합니다. 다음 단계에서 해당 조직에 앱을 승인하고 설치해야 하므로 이름은 GitHub 조직 이름과 정확히 일치해야 합니다.

GitHub 앱에 대한 GitHub 앱 권한을 선택합니다. GitHub 권한 수준은 GitHub 앱이 리포지토리에서 수행할 수 있는 작업을 결정합니다.

  • 읽기 및 쓰기(기본값): GitHub 앱은 읽기 및 쓰기 권한을 모두 요청합니다. 이렇게 하면 모든 기능이 활성화됩니다. DevOps Agent는 인라인 풀 요청 설명을 게시하고, 수정 사항을 제안하고, 워크플로를 트리거할 수 있습니다.

  • 읽기 전용: GitHub 앱은 읽기 권한만 요청합니다. DevOps Agent는 코드 및 풀 요청을 볼 수 있지만 설명을 게시하거나 수정 사항을 제안하거나 워크플로를 트리거할 수는 없습니다.

확인 방법

확인 방법에서 AWS DevOps 에이전트가 지정한 계정 또는 조직에 GitHub 앱이 설치되어 있는지 확인하는 방법을 선택합니다.

  • 브라우저 기반 콜백(기본값) - 제출을 선택하면 AWS DevOps 에이전트가 사용자를 GitHub로 리디렉션하여 GitHub 앱을 승인하고 필요한 경우 설치합니다. 4단계를 계속합니다.

  • 개인 액세스 토큰으로 확인 - 개인 액세스 토큰을 입력합니다. AWS DevOps Agent는 토큰을 한 번 사용하여 지정한 계정 또는 조직에 GitHub 앱이 설치되어 있는지 확인한 다음 폐기합니다. 토큰은 저장되지 않습니다. 제출을 선택하면 등록이 완료되고 GitHub로 리디렉션되지 않습니다.

GitHub 앱이 이미 설치된 경우 개인 액세스 토큰으로 확인을 사용합니다. 예를 들어 다른 AWS 계정 또는 리전에서 동일한 조직을 연결할 때 사용합니다. GitHub 앱이 아직 설치되지 않은 경우 먼저 브라우저 기반 콜백에 등록합니다.

확인 토큰에는 다음 권한이 필요합니다.

  • 조직의 경우 토큰 소유자가 조직 소유자여야 합니다. 토큰에는 조직 읽기 권한도 필요합니다. 클래식 토큰의 경우 read:org 범위를 사용합니다. 세분화된 토큰의 경우 관리: 읽기 전용 조직 권한을 사용합니다.

  • 개인 계정의 경우 토큰에 추가 범위가 필요하지 않습니다.

참고

개인 액세스 토큰을 사용한 확인은 GitHub.com. 데이터 레지던시가 있는 GitHub Enterprise Server 및 GitHub Enterprise Cloud의 경우 브라우저 기반 콜백을 사용합니다.

GitHub Enterprise Server 인스턴스에 연결하는 경우 GitHub Enterprise 사용을 선택하고 인스턴스의 HTTPS URL(예: https://github.example.com)을 입력합니다.

GitHub Enterprise Server 인스턴스에 공개적으로 액세스할 수 없는 경우 선택적으로 프라이빗 연결을 구성하여 AWS DevOps 에이전트가 인스턴스에 안전하게 연결할 수 있도록 할 수 있습니다. 자세한 내용은 프라이빗 호스팅 도구에 연결 단원을 참조하십시오.

참고

URL에 /api/v3 또는 후행 경로를 포함하지 마십시오. 기본 URL만 입력합니다.

데이터 레지던시가 있는 GitHub Enterprise Cloud의 경우 GitHub Enterprise 사용을 선택하고 데이터 레지던시 인스턴스의 HTTPS URL(예: https://octocorp.ghe.com)을 입력합니다.

4단계: GitHub 앱 설정

제출을 선택하여 앱 설정 프로세스를 시작합니다. 다음 단계는 데이터 레지던시를 사용하여 GitHub.com, GitHub Enterprise Server 또는 GitHub Enterprise Cloud에 연결할지 여부에 따라 다릅니다.

3단계에서 개인 액세스 토큰으로 확인을 선택하면 리디렉션 없이 등록이 완료됩니다. 4단계와 5단계를 건너뜁니다.

GitHub.com의 경우

  1. GitHub는 로그인 및 authorize AWS DevOps 에이전트로 리디렉션합니다.

  2. 권한 부여 요청을 검토하고 authorization AWS DevOps 에이전트를 승인합니다.

  3. 권한을 부여하면 AWS DevOps 에이전트가 등록을 완료합니다. 지정한 계정 또는 조직에 GitHub 앱이 아직 설치되지 않은 경우 설치 페이지로 계속 진행합니다(5단계 참조). 앱이 이미 설치된 경우 다시 설치하지 않고 등록이 완료됩니다.

  4. 설치 후 AWS DevOps Agent는 연결된 리포지토리에서 배포 이벤트를 포함한 이벤트를 수신합니다.

참고

등록 중에 지정한 것과 동일한 사용자 또는 조직에 앱을 승인하고 설치해야 합니다. 다른 계정 또는 조직에 권한을 부여하거나 설치하는 경우 등록이 실패하고 올바른 계정 또는 조직을 선택하여 프로세스를 다시 시작해야 합니다.

참고

AWS DevOps Agent는 각 권한 수준(읽기 및 쓰기 및 읽기 전용)에 대해 별도의 GitHub 앱을 사용하며 각 앱은 독립적으로 승인됩니다. GitHub는 설정 > 애플리케이션 > 승인된 GitHub 앱에서 취소할 때까지 권한 부여를 기억합니다. 이전에이 권한 수준에서 앱을 승인한 경우 GitHub는 권한 부여 화면을 건너뛸 수 있습니다. 권한 수준을 변경하면 GitHub는 해당 앱을 처음 승인하라는 메시지를 표시합니다.

데이터 레지던시가 있는 GitHub Enterprise Server 및 GitHub Enterprise Cloud의 경우

GitHub Enterprise Server와 데이터 레지던시가 있는 GitHub Enterprise Cloud는 모두 인스턴스에 새 GitHub 앱을 자동으로 설정하는 GitHub 앱 매니페스트 흐름을 사용합니다. 설정 중에 브라우저가 두 번 리디렉션됩니다. 한 번은 인스턴스로 리디렉션되고 다른 한 번은 AWS DevOps 에이전트로 리디렉션됩니다.

  1. AWS DevOps Agent는 브라우저를 GitHub Enterprise 인스턴스의 GitHub 앱 생성 페이지로 리디렉션합니다.

  2. 앱 이름은 미리 채워져 있습니다. 필요한 경우 이름을 변경한 다음 GitHub 앱 생성을 선택합니다.

  3. After AWS DevOps Agent는 브라우저를 다시 리디렉션하고 매니페스트 코드를 앱 자격 증명으로 교환합니다.

5단계: 리포지토리 선택 및 설치 완료

GitHub 앱이 계정 또는 조직에 이미 설치되어 있는 경우이 단계를 건너뜁니다.

  1. GitHub 앱의 설치 및 권한 부여 페이지가 나타납니다.

  2. 앱이 액세스할 수 있도록 허용할 리포지토리를 선택합니다.

    • 모든 리포지토리 - 모든 현재 및 향후 리포지토리에 대한 액세스 권한 부여

    • 리포지토리만 선택 - 계정 또는 조직에서 특정 리포지토리를 선택합니다.

  3. 설치 및 승인을 선택합니다.

  4. AWS DevOps 에이전트 콘솔로 다시 리디렉션되며, 여기서 GitHub는 계정 수준에서 등록된 것으로 표시됩니다.

개인 액세스 토큰으로 GitHub 등록

개인 액세스 토큰 등록은 AWS DevOps 에이전트 GitHub 앱을 설치하지 않고 GitHub를 연결합니다. AWS DevOps 에이전트는 토큰을 저장하고 이를 사용하여 사용자를 대신하여 GitHub API 요청을 인증합니다. GitHub 앱을 설치할 수 없거나 웹후크 기반 기능 없이 개별 리포지토리 액세스만 필요한 경우이 옵션을 사용합니다.

개인 액세스 토큰 등록은 데이터 레지던시가 있는 GitHub.com, GitHub Enterprise Server 및 GitHub Enterprise Cloud를 지원합니다. 공개적으로 액세스할 수 없는 GitHub Enterprise Server 인스턴스의 경우 프라이빗 연결을 사용할 수 있습니다.

이 옵션을 선택하기 전에 다음 제한 사항을 고려하세요.

  • 웹후크 없음 - GitHub는 개인 액세스 토큰 등록에 웹후크 이벤트를 보내지 않습니다. AWS DevOps Agent는 풀 요청, 푸시 또는 배포 알림과 같은 실시간 이벤트를 수신하지 않습니다. 자동 릴리스 준비 코드 검토 및 자동 확인 테스트는 개인 액세스 토큰 등록을 통해 연결된 리포지토리에 대해 트리거되지 않습니다. DevOps 에이전트 채팅 또는 코딩 에이전트 통합을 통해 릴리스 준비 코드 검토를 요청할 수 있습니다. 자세한 내용은 릴리스 준비 상태 코드 검토 단원을 참조하십시오. 실시간 이벤트가 필요한 경우 앱 등록을 사용합니다.

  • 리포지토리 액세스는 토큰을 따릅니다 - 조직에 대한 등록 범위를 지정할 때 AWS DevOps 에이전트는 토큰이 액세스할 수 있는 해당 조직의 리포지토리를 나열합니다. 토큰 소유자의 개인 계정을 연결하면 AWS DevOps 에이전트는 토큰 소유자가 소유한 리포지토리만 나열합니다. 에이전트는 토큰이 허용하는 작업만 수행할 수 있습니다.

  • 토큰 업데이트 없음 - 기존 GitHub 등록의 토큰을 업데이트할 수 없습니다. 만료되거나 교체된 토큰을 교체하려면 등록을 취소하고 GitHub를 새 토큰으로 다시 등록합니다. 그런 다음 리포지토리를 에이전트 스페이스에 다시 연결합니다.

개인 액세스 토큰 생성

등록하기 전에 GitHub에서 토큰을 생성합니다. 클래식 토큰 또는 세분화된 토큰을 사용할 수 있습니다.

클래식 토큰의 경우 다음 범위를 선택합니다.

  • repo - 리포지토리 콘텐츠 및 메타데이터를 읽는 데 필요합니다.

  • read:org - 조직에 대한 등록 범위를 지정할 때 필요합니다. AWS DevOps 에이전트는 이를 사용하여 토큰 소유자가 조직의 활성 멤버인지 확인합니다.

세분화된 토큰의 경우 다음을 구성합니다.

  • 조직에 대한 등록 범위를 지정하는 경우 리소스 소유자를 해당 조직으로 설정합니다. AWS DevOps 에이전트가 액세스할 수 있는 리포지토리를 선택합니다.

  • 리포지토리 권한에서 콘텐츠: 읽기 전용 및 메타데이터: 읽기 전용을 부여합니다.

  • 조직 권한에서 조직에 대한 등록 범위를 지정할 때 멤버: 읽기 전용 권한을 부여합니다.

보안 정책에 맞는 만료를 설정합니다. AWS DevOps Agent는 토큰을 갱신할 수 없습니다. 토큰이 만료되기 전에 새 토큰을 생성하고 GitHub 등록을 취소한 다음 다시 등록합니다.

개인 액세스 토큰으로 등록

  1. 1단계 완료: 파이프라인 공급자로 이동합니다.

  2. GitHub 계정/조직 등록 화면의 연결 유형에서 개인 액세스 토큰을 선택합니다.

  3. 개인 액세스 토큰에 토큰을 입력합니다.

  4. (선택 사항) 다음 필드를 구성합니다.

    • GitHub 조직 - 등록 범위를 지정할 조직의 이름을 입력합니다. 토큰 소유자는 조직의 활성 멤버여야 합니다. 토큰 소유자의 개인 GitHub 계정을 연결하려면이 필드를 비워 둡니다. 이 필드는 데이터 레지던시 URL을 사용하여 GitHub Enterprise Cloud를 입력할 때 필요합니다.

    • GitHub Enterprise URL - GitHub Enterprise 인스턴스의 HTTPS 루트 URL을 입력합니다(예: https://github.example.com 또는 https://octocorp.ghe.com). 이는 데이터 레지던시가 있는 GitHub Enterprise Server 및 GitHub Enterprise Cloud에 적용됩니다. GitHub.com. /api/v3 또는 후행 경로를 포함하지 마십시오.

    • 프라이빗 연결 - GitHub Enterprise Server 인스턴스에 공개적으로 액세스할 수 없는 경우 프라이빗 연결을 선택합니다. 자세한 내용은 프라이빗 호스팅 도구에 연결 단원을 참조하십시오.

  5. 제출을 선택합니다. AWS DevOps 에이전트는 GitHub로 토큰을 검증하고 토큰 소유자의 자격 증명을 확인합니다. 조직에 들어갈 때 토큰 소유자가 해당 조직의 활성 멤버인지도 확인합니다.

등록이 완료되면 GitHub가 계정 수준에서 등록된 것으로 표시됩니다. 에이전트 스페이스에 리포지토리 연결에 설명된 대로 리포지토리를 에이전트 스페이스에 연결합니다.

개인 액세스 토큰 등록 문제 해결

개인 액세스 토큰 등록에 실패하면 오류 메시지를 다음 목록과 비교합니다.

  • Invalid GitHub personal access token - 토큰이 유효하지 않거나 만료되었습니다. 새 토큰을 생성하고 다시 시도하세요.

  • GitHub personal access token does not have sufficient permissions - 클래식 토큰에 repo 범위를 추가하거나 세분화된 토큰과 함께 사용하려는 리포지토리에 대한 읽기 액세스 권한을 부여합니다.

  • The GitHub token's user is not a member of organization "<name>" - 조직 이름을 확인합니다. 토큰에 read:org 범위(클래식) 또는 조직 구성원 읽기 액세스(세분화)가 있는지 확인합니다.

  • membership in organization "<name>" is "<state>", not active - 토큰 소유자에게 조직에 대한 보류 중인 초대가 있습니다. 초대를 수락하고 다시 시도하세요.

  • Failed to reach GitHub - GitHub Enterprise URL과 네트워크 구성을 확인합니다. 프라이빗 연결은 섹션을 참조하세요프라이빗 연결 문제 해결.

  • A GitHub service for "<owner>" is already registered with this account - AWS 계정에 이미이 GitHub 계정 또는 조직에 대한 등록이 있습니다. 기존 등록을 사용하거나 먼저 등록을 취소합니다.

개인 액세스 토큰으로 확인에는 다음 오류가 적용됩니다.

  • The DevOps Agent GitHub App is not installed on the requested organization or account - 먼저 브라우저 기반 콜백에 등록하여 GitHub 앱을 설치한 다음 다시 시도하세요.

  • You do not have permission to install or access the DevOps Agent GitHub App on this organization - 조직에 대한 소유자(관리자) 권한이 있는 GitHub 계정을 사용합니다.

  • GitHub App verification is only supported for github.com - 데이터 레지던시가 있는 GitHub Enterprise Server 및 GitHub Enterprise Cloud의 경우 브라우저 기반 콜백을 사용합니다.

에이전트 스페이스에 리포지토리 연결

계정 수준에서 GitHub를 등록한 후 특정 리포지토리를 개별 에이전트 스페이스에 연결할 수 있습니다.

  1. AWS DevOps 에이전트 콘솔에서 에이전트 스페이스를 선택합니다.

  2. 기능 탭으로 이동

  3. 파이프라인 섹션에서 추가를 선택합니다.

  4. 사용 가능한 공급자 목록에서 GitHub를 선택합니다.

  5. 사용하려는 리포지토리가 포함된 GitHub 등록을 선택합니다.

  6. 이 에이전트 스페이스와 관련된 리포지토리의 하위 집합 선택

  7. 추가를 선택하여 연결을 완료합니다.

조직의 필요에 따라 서로 다른 리포지토리 세트를 서로 다른 에이전트 스페이스에 연결할 수 있습니다. 단일 에이전트 스페이스는 여러 등록의 리포지토리를 사용할 수 있습니다. 다른 등록에서 리포지토리를 추가하려면 다음 단계를 반복합니다.

코드 검토 및 자동 테스트 구성

GitHub 연결 단계에서 리포지토리를 선택하면 리포지토리가 코드 검토 및 자동 테스트 섹션에 자동으로 추가됩니다. 이 섹션에서는 릴리스 준비 상태 코드 검토 및 자동 테스트 기능을 자동으로 트리거하는 리포지토리를 구성합니다.

참고

자동 트리거는 GitHub 앱의 웹후크 이벤트에 따라 달라집니다. 개인 액세스 토큰 등록을 통해 연결된 리포지토리의 경우 자동 검토 및 자동 테스트가 실행되지 않습니다. 대신 DevOps 에이전트 채팅 또는 코딩 에이전트 통합을 통해 릴리스 준비 코드 검토를 요청합니다.

코드 검토 및 자동 테스트 구성에는 다음이 포함됩니다.

  • 기능 - 각 리포지토리에 대한 코드 검토 및 자동 테스트 기능을 선택합니다. 이 섹션에서는 두 가지 리포지토리별 설정을 제공합니다.

    • 자동 트리거 변경 검토 - 리포지토리에 대해 활성화된 경우 DevOps Agent는 풀 요청이 열리거나 업데이트될 릴리스 준비 상태 코드 검토 때마다를 자동으로 실행합니다. 검토 결과는 풀 요청에 대한 인라인 설명으로 표시됩니다. 이는 연결된 모든 리포지토리에 대해 기본적으로 활성화됩니다.

    • 자동 확인 테스트 - 리포지토리에 대해 활성화된 경우 DevOps Agent는 코드 검토 중에 관리형 확인 환경에서 코드 변경 사항을 빌드, 실행 및 테스트합니다. 이를 통해 정적 분석 이상의 기능 검증이 가능합니다. 자세한 내용은 자동 확인 테스트를 참조하세요. 이는 연결된 모든 리포지토리에 대해 기본적으로 활성화됩니다.

  • 리포지토리 목록 - 연결 단계에서 선택한 모든 리포지토리를 표시합니다. 검색 필드를 사용하여 리포지토리를 이름으로 필터링합니다. 각 리포지토리에는 두 기능에 대한 독립적인 확인란이 있습니다.

  • 런타임 역할(선택 사항) - 선택한 리포지토리에서 자동화된 기능을 실행하기 위해 DevOps 에이전트가 수임하는 IAM 역할을 선택합니다. 이 역할은 프라이빗 패키지 레지스트리 및 아티팩트 스토리지 시스템과 같은 빌드 중에 필요한 내부 서비스에 액세스할 때 사용됩니다. 기본 에이전트 역할과 다른 역할을 사용하는 것이 좋습니다.

자동 검토를 구성하려면:

  1. 리포지토리를 연결한 후 GitHub 통합 설정에서 코드 검토 및 자동 테스트 섹션으로 이동합니다.

  2. 각 리포지토리에 대해 자동 풀 요청 검토를 원하는지 여부에 따라 자동 트리거 변경 검토 기능을 활성화하거나 비활성화합니다.

  3. 각 리포지토리에 대해 관리형 확인 환경에서 자동 확인 테스트를 원하는지 여부에 따라 자동 확인 테스트 기능을 활성화하거나 비활성화합니다.

  4. 선택적으로 선택한 리포지토리에서 자동 기능을 실행할 때 DevOps 에이전트가 수임할 런타임 역할 드롭다운에서 IAM 역할을 선택합니다.

  5. 저장을 선택하여 구성을 적용합니다.

구성되면 자동 트리거 변경 검토가 활성화된 리포지토리의 새 풀 요청은 릴리스 준비 코드 검토를 자동으로 트리거합니다. 자동 확인 테스트도 활성화된 경우 검토에는 확인 환경의 기능 검증이 포함됩니다. 코드 검토에 대한 자세한 내용은 섹션을 참조하세요릴리스 준비 상태 코드 검토.

고급 설정: 트리거 필터

기본적으로 자동 트리거 변경 검토가 활성화된 리포지토리는 모든 대상 브랜치에서 해당하는 모든 풀 요청 이벤트에 대해 릴리스 준비 코드 검토를 실행합니다. 고급 설정을 사용하여 각 리포지토리에 대해 자동 검토가 실행되는 시기를 정확하게 제어하는 트리거 필터를 추가합니다.

각 필터는 두 조건을 결합하는 필터 그룹입니다.

  • 대상 브랜치(필수) - 정규식(예: 또는 )으로 입력된 하나 이상의 브랜치 이름 main 또는 패턴입니다release/.*. 풀 요청의 대상(기본) 브랜치가 이러한 패턴 중 하나와 일치하는 경우에만 검토가 트리거됩니다.

  • 트리거 이벤트(선택 사항) - 검토를 트리거하는 풀 요청 이벤트: 풀 요청을 검토할 준비가 되었거나 풀 요청 초안이 작성되었습니다. 해당하는 모든 이벤트와 일치하도록 비워 둡니다.

필터 그룹 내에서 모든 조건은 (AND)와 일치해야 합니다. 여러 필터 그룹을 추가할 수 있으며, 그룹이 (OR)과 일치하면 검토가 트리거됩니다.

트리거 필터를 구성하려면:

  1. 연결 흐름에서 고급 설정 섹션을 엽니다. (기존 연결에서 필터를 변경하려면 파이프라인 섹션에서 연결을 선택하고 편집을 선택한 다음 고급 설정을 엽니다.)

  2. 구성하려는 리포지토리를 찾아 변경 검토 탭을 선택합니다.

  3. 필터 그룹 추가를 선택한 다음 그룹의 조건을 정의합니다.

    • 대상 브랜치에서 브랜치 이름 또는 패턴을 입력하고 Enter 키를 누르거나 추가를 선택합니다. 반복하여 패턴을 더 추가합니다.

    • (선택 사항) 트리거 이벤트에서 풀 요청 검토 준비 완료, 풀 요청 초안 작성 또는 둘 다를 선택합니다. 모든 이벤트와 일치하도록 비워 둡니다.

  4. (선택 사항) 필터 그룹 추가를 다시 선택하여 대체 조건을 표시합니다.

  5. 저장을 선택하여 구성을 적용합니다.

그룹당 최대 20개의 패턴으로 리포지토리당 최대 5개의 필터 그룹을 정의할 수 있습니다. 각 패턴은 최대 256자의 유효한 정규식이어야 합니다. 필터 그룹을 추가하지 않으면는 모든 대상 브랜치에 해당하는 모든 이벤트에 대한 트리거를 검토합니다.

GitHub 앱 이해

AWS DevOps 에이전트 GitHub 앱:

  • 리포지토리에 대한 액세스 요청 - GitHub 앱 설치 중에 특정 권한을 검토할 수 있습니다.

  • 배포 이벤트 및 기타 리포지토리 이벤트를 수신합니다.

  • 코드 변경 사항을 운영 인시던트와 연관시킬 수 있는 Allow AWS DevOps Agent

  • GitHub 설정을 통해 언제든지 제거할 수 있습니다.

데이터 레지던시가 있는 GitHub Enterprise Server 및 GitHub Enterprise Cloud의 경우 AWS DevOps Agent는 등록 중에 인스턴스에 GitHub 앱을 자동으로 생성합니다. 설정 > 애플리케이션 > 설치된 GitHub 앱을 통해 앱의 리포지토리 액세스를 관리하거나 제거할 수 있습니다. 앱 정의를 완전히 삭제하려면 설정 > 개발자 설정 > GitHub 앱으로 이동합니다.

GitHub 앱 권한 업데이트

AWS DevOps Agent는 새로운 기능을 지원하기 위해 GitHub 앱을 설치한 후 권한 업데이트를 요청할 수 있습니다. 이 경우:

  1. GitHub로부터 권한 업데이트 요청에 대한 알림을 받게 됩니다.

  2. 업데이트 세부 정보를 검토하여 어떤 새 권한이 요청되고 있는지 이해합니다.

  3. 새 권한 수락을 선택하여 업데이트된 권한을 부여합니다.

서비스 또는 애플리케이션에서는 변경할 필요가 없습니다. 업데이트된 권한을 수락하면 GitHub에서 AWS DevOps 에이전트가 요청하는 다음 설치 액세스 토큰에 새 권한이 자동으로 포함됩니다.

참고

권한 업데이트를 수락할 때까지 AWS DevOps 에이전트는 이전에 부여된 권한으로 계속 작동합니다. 업데이트된 권한에 의존하는 새 기능은 요청을 승인할 때까지 사용할 수 없습니다. 새 권한을 수락하지 않도록 선택하면 앱은 현재 권한을 유지합니다.

요청된 권한

다음 표에서는 AWS DevOps 에이전트 GitHub 앱 요청의 각 권한과 필요한 이유를 설명합니다.

등록 중에 읽기 전용을 선택한 경우 GitHub 앱은 다음 표의 각 권한에 대해서만 읽기 수준 액세스를 요청합니다. 읽기 전용 권한을 사용하면 GitHub 앱이 목적 열에 나열된 쓰기 수준 작업을 수행할 수 없습니다.

권한 액세스 레벨 용도
검사 읽기 및 쓰기 풀 요청에 대한 검사가 실행됨에 따라 릴리스 후 준비 코드 검토 결과가 표시되므로 검토 상태가 GitHub UI에 직접 표시될 수 있습니다.
워크플로 읽기 및 쓰기 CI/CD 파이프라인에서 릴리스 테스트를 위해 워크플로 정의를 읽고 GitHub Actions 워크플로를 트리거합니다.
작업 읽기 및 쓰기 인시던트 조사 및 릴리스 테스트 중에 GitHub Actions 워크플로 실행을 모니터링하고 실행 로그에 액세스합니다.
내용 읽기 및 쓰기 코드 검토 분석 및 종속성 매핑을 위해 리포지토리 소스 코드를 읽습니다. 쓰기 액세스를 통해 에이전트는 식별된 문제에 대한 수정 사항을 제안할 수 있습니다.
풀 요청 읽기 및 쓰기 풀 요청 세부 정보를 읽고 자동 코드 검토를 트리거합니다. 쓰기 액세스를 사용하면 조사 결과 및 권장 수정 사항이 포함된 인라인 검토 의견을 게시할 수 있습니다.
조직 관리 읽기 대상 조직에 설치된 애플리케이션 목록을 읽어 AWS DevOps 에이전트 GitHub 앱이 설치되었는지 확인합니다.

GitHub 연결 관리

  • 리포지토리 액세스 업데이트 - GitHub 앱이 액세스할 수 있는 리포지토리를 변경하려면 GitHub 계정 또는 조직 설정으로 이동합니다. 데이터 레지던시가 있는 GitHub Enterprise Server 또는 GitHub Enterprise Cloud의 경우 인스턴스 설정으로 이동합니다. 그런 다음 설치된 GitHub 앱으로 이동하여 AWS DevOps 에이전트 앱 구성을 수정합니다.

  • 연결된 리포지토리 보기 - AWS DevOps 에이전트 콘솔에서 에이전트 스페이스를 선택하고 기능 탭으로 이동하여 파이프라인 섹션에서 연결된 리포지토리를 봅니다.

  • 개인 액세스 토큰 교체 - 기존 GitHub 등록의 토큰을 업데이트할 수 없습니다. 토큰을 교체하려면 기능 공급자 페이지에서 등록을 취소합니다. 그런 다음 새 토큰으로 GitHub를 다시 등록하고 리포지토리를 에이전트 스페이스에 다시 연결합니다. GitHub 설정에서 이전 토큰을 취소합니다.

  • GitHub 연결 제거 - 에이전트 공간에서 GitHub를 연결 해제하려면 파이프라인 섹션에서 연결을 선택한 다음 제거를 선택합니다. 계정에서 GitHub 등록을 제거하려면 기능 공급자 페이지로 이동하여 GitHub 섹션에서 등록을 찾은 다음 등록 취소를 선택합니다.

GitHub 통합을 완전히 제거하려면 다음을 수행합니다.

  • GitHub 앱을 제거하려면 GitHub 계정 또는 조직 설정으로 이동합니다.

  • 다시 연결하려면 AWS DevOps 에이전트 콘솔에서 GitHub를 다시 등록합니다.

데이터 레지던시가 있는 GitHub Enterprise Server 및 GitHub Enterprise Cloud의 경우 AWS DevOps Agent는 등록 중에 인스턴스에 GitHub 앱을 생성합니다. 앱을 완전히 정리하려면 다음 두 가지를 모두 수행합니다.

  • 앱 제거 - 설정 > 애플리케이션 > 설치된 GitHub 앱으로 이동하여 앱에서 구성을 선택한 다음 제거합니다.

  • 앱 삭제 - 설정 > 개발자 설정 > GitHub 앱으로 이동하여 앱을 선택하고 고급 탭으로 이동한 다음 GitHub 앱 삭제를 선택합니다. 경고: GitHub 앱 삭제는 영구적이며 실행 취소할 수 없습니다. 새 앱을 생성하려면 AWS DevOps 에이전트 콘솔에서 GitHub를 다시 등록합니다.