기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
GitHub 연결
GitHub 통합을 통해 AWS DevOps Agent는 인시던트 조사 중에 코드 리포지토리에 액세스하고 배포 이벤트를 수신할 수 있습니다. 이 통합은 GitHub의 계정 수준 등록 후 특정 리포지토리를 개별 에이전트 스페이스에 연결하는 2단계 프로세스를 따릅니다.
AWS DevOps Agent는 GitHub.com(SaaS) 및 GitHub Enterprise Server(자체 호스팅) 인스턴스를 모두 지원합니다.
사전 조건
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 등록(계정 수준)
GitHub는 AWS 계정 수준에서 등록되고 해당 계정의 모든 에이전트 스페이스 간에 공유됩니다. 각 등록은 하나의 GitHub 사용자, 하나의 조직 또는 하나의 GitHub Enterprise Server 인스턴스에 해당합니다.
1단계: 파이프라인 공급자로 이동
AWS Management Console에 로그인
AWS DevOps 에이전트 콘솔로 이동
기능 탭으로 이동
파이프라인 섹션에서 추가를 선택합니다.
사용 가능한 공급자 목록에서 GitHub를 선택합니다.
GitHub가 아직 등록되지 않은 경우 먼저 등록하라는 메시지가 표시됩니다.
2단계: 연결 유형 선택
"GitHub 계정/조직 등록" 화면에서 사용자 또는 조직으로 연결할지 여부를 선택합니다.
사용자 - 사용자 이름과 프로필이 있는 개인 GitHub 계정
조직 - 여러 사람이 여러 프로젝트에서 한 번에 협업할 수 있는 공유 GitHub 계정
GitHub 앱에 대한 GitHub 앱 권한을 선택합니다. GitHub 권한 수준은 GitHub 앱이 리포지토리에서 수행할 수 있는 작업을 결정합니다.
읽기 및 쓰기(기본값): GitHub 앱은 읽기 및 쓰기 권한을 모두 요청합니다. 이렇게 하면 모든 기능이 활성화됩니다. DevOps Agent는 인라인 풀 요청 설명을 게시하고, 수정 사항을 제안하고, 워크플로를 트리거할 수 있습니다.
읽기 전용: GitHub 앱은 읽기 권한만 요청합니다. DevOps Agent는 코드 및 풀 요청을 볼 수 있지만 설명을 게시하거나 수정 사항을 제안하거나 워크플로를 트리거할 수는 없습니다.
GitHub Enterprise Server 인스턴스에 연결하는 경우 GitHub Enterprise Server 사용 확인란을 선택하고 인스턴스의 HTTPS URL(예: https://github.example.com)을 입력합니다.
GitHub Enterprise Server 인스턴스에 공개적으로 액세스할 수 없는 경우 선택적으로 프라이빗 연결을 구성하여 AWS DevOps 에이전트가 인스턴스에 안전하게 연결할 수 있도록 할 수 있습니다. 자세한 내용은 프라이빗 호스팅 도구에 연결 단원을 참조하십시오.
참고
URL에 /api/v3 또는 후행 경로를 포함하지 마십시오. 기본 URL만 입력합니다.
3단계: GitHub 앱 설정
제출을 선택하여 앱 설정 프로세스를 시작합니다. 다음 단계는 GitHub.com에 연결하는지 아니면 GitHub Enterprise Server에 연결하는지에 따라 다릅니다.
GitHub.com의 경우
AWS DevOps 에이전트 GitHub 앱을 설치하기 위해 GitHub로 리디렉션됩니다.
앱을 설치할 계정 또는 조직을 선택합니다.
앱은 AWS DevOps 에이전트가 연결된 리포지토리에서 배포 이벤트를 포함한 이벤트를 수신할 수 있도록 허용합니다.
GitHub Enterprise Server의 경우
GitHub Enterprise Server는 인스턴스에 새 GitHub 앱을 자동으로 설정하는 GitHub 앱 매니페스트 흐름을 사용합니다. 여기에는 GitHub Enterprise Server 인스턴스에 대한 두 개의 리디렉션이 포함됩니다.
브라우저가 GitHub Enterprise Server 인스턴스의 "GitHub 앱 생성" 페이지로 리디렉션됩니다.
앱 이름이 미리 채워져 표시됩니다. 필요에 따라 이름을 자유롭게 변경할 수 있습니다. [GitHub 앱 생성(Create GitHub App)]을 선택합니다.
매니페스트 코드를 앱 자격 증명으로 교환하는 AWS DevOps 에이전트로 다시 리디렉션됩니다.
4단계: 리포지토리 선택 및 설치 완료
GitHub 앱의 설치 및 권한 부여 페이지가 표시됩니다.
앱이 액세스할 수 있도록 허용할 리포지토리를 선택합니다.
모든 리포지토리 - 모든 현재 및 향후 리포지토리에 대한 액세스 권한 부여
리포지토리만 선택 - 계정 또는 조직에서 특정 리포지토리를 선택합니다.
설치 및 승인을 선택합니다.
AWS DevOps 에이전트 콘솔로 다시 리디렉션되며, 여기서 GitHub는 계정 수준에서 등록된 것으로 표시됩니다.
에이전트 스페이스에 리포지토리 연결
계정 수준에서 GitHub를 등록한 후 특정 리포지토리를 개별 에이전트 스페이스에 연결할 수 있습니다.
AWS DevOps 에이전트 콘솔에서 에이전트 스페이스를 선택합니다.
기능 탭으로 이동
파이프라인 섹션에서 추가를 선택합니다.
사용 가능한 공급자 목록에서 GitHub를 선택합니다.
사용하려는 리포지토리가 포함된 GitHub 등록을 선택합니다.
이 에이전트 스페이스와 관련된 리포지토리의 하위 집합 선택
추가를 선택하여 연결을 완료합니다.
조직의 필요에 따라 서로 다른 리포지토리 세트를 서로 다른 에이전트 스페이스에 연결할 수 있습니다. 단일 에이전트 스페이스는 여러 등록의 리포지토리를 사용할 수 있습니다. 다른 등록에서 리포지토리를 추가하려면 다음 단계를 반복합니다.
코드 검토 및 자동 테스트 구성
GitHub 연결 단계에서 리포지토리를 선택하면 리포지토리가 코드 검토 및 자동 테스트 섹션에 자동으로 추가됩니다. 이 섹션에서는 릴리스 준비 상태 코드 검토 및 자동 테스트 기능을 자동으로 트리거하는 리포지토리를 구성합니다.
코드 검토 및 자동 테스트 구성에는 다음이 포함됩니다.
기능 - 각 리포지토리에 대한 코드 검토 및 자동 테스트 기능을 선택합니다. 이 섹션에서는 두 가지 리포지토리별 설정을 제공합니다.
자동 트리거 변경 검토 - 리포지토리에 대해 활성화된 경우 DevOps Agent는 풀 요청이 열리거나 업데이트될 릴리스 준비 상태 코드 검토 때마다를 자동으로 실행합니다. 검토 결과는 풀 요청에 인라인 주석으로 표시됩니다. 이는 연결된 모든 리포지토리에 대해 기본적으로 활성화됩니다.
자동 확인 테스트 - 리포지토리에 대해 활성화된 경우 DevOps Agent는 코드 검토 중에 관리형 확인 환경에서 코드 변경 사항을 빌드, 실행 및 테스트합니다. 이를 통해 정적 분석 이상의 기능 검증이 가능합니다. 자세한 내용은 자동 확인 테스트를 참조하세요. 이는 연결된 모든 리포지토리에 대해 기본적으로 활성화됩니다.
리포지토리 목록 - 연결 단계에서 선택한 모든 리포지토리를 표시합니다. 검색 필드를 사용하여 리포지토리를 이름으로 필터링합니다. 각 리포지토리에는 두 기능에 대한 독립적인 확인란이 있습니다.
런타임 역할(선택 사항) - DevOps 에이전트가 선택한 리포지토리에서 자동 기능을 실행하기 위해 수임하는 IAM 역할을 선택합니다. 이 역할은 프라이빗 패키지 레지스트리 및 아티팩트 스토리지 시스템과 같은 빌드 중에 필요한 내부 서비스에 액세스할 때 사용됩니다. 기본 에이전트 역할과 다른 역할을 사용하는 것이 좋습니다.
자동 검토를 구성하려면:
리포지토리를 연결한 후 GitHub 통합 설정에서 코드 검토 및 자동 테스트 섹션으로 이동합니다.
각 리포지토리에 대해 자동 풀 요청 검토를 원하는지 여부에 따라 자동 트리거 변경 검토 기능을 활성화하거나 비활성화합니다.
각 리포지토리에 대해 관리형 확인 환경에서 자동 확인 테스트를 원하는지 여부에 따라 자동 확인 테스트 기능을 활성화하거나 비활성화합니다.
선택적으로 선택한 리포지토리에서 자동 기능을 실행할 때 DevOps 에이전트가 수임할 런타임 역할 드롭다운에서 IAM 역할을 선택합니다.
저장을 선택하여 구성을 적용합니다.
구성되면 자동 트리거 변경 검토가 활성화된 리포지토리의 새 풀 요청은 릴리스 준비 상태 코드 검토를 자동으로 트리거합니다. 자동 확인 테스트도 활성화된 경우 검토에는 확인 환경의 기능 검증이 포함됩니다. 코드 검토에 대한 자세한 내용은 섹션을 참조하세요릴리스 준비 상태 코드 검토.
GitHub 앱 이해
AWS DevOps 에이전트 GitHub 앱:
리포지토리에 대한 액세스 요청 - GitHub 앱 설치 중에 특정 권한을 검토할 수 있습니다.
배포 이벤트 및 기타 리포지토리 이벤트를 수신합니다.
코드 변경 사항을 운영 인시던트와 연관시킬 수 있는 Allow AWS DevOps Agent
GitHub 설정을 통해 언제든지 제거할 수 있습니다.
GitHub Enterprise Server의 경우 GitHub 앱은 등록 중에 인스턴스에 자동으로 생성됩니다. 설정 > 애플리케이션 > 설치된 GitHub 앱을 통해 앱의 리포지토리 액세스를 관리하거나 제거할 수 있습니다. 앱 정의를 완전히 삭제하려면 설정 > 개발자 설정 > GitHub 앱으로 이동합니다.
GitHub 앱 권한 업데이트
AWS DevOps Agent는 새로운 기능을 지원하기 위해 GitHub 앱을 설치한 후 권한 업데이트를 요청할 수 있습니다. 이 경우:
GitHub로부터 권한 업데이트 요청에 대한 알림을 받게 됩니다.
업데이트 세부 정보를 검토하여 어떤 새 권한이 요청되고 있는지 이해합니다.
새 권한 수락을 선택하여 업데이트된 권한을 부여합니다.
서비스 또는 애플리케이션에서는 변경할 필요가 없습니다. 업데이트된 권한을 수락하면 GitHub에서 AWS DevOps 에이전트가 요청하는 다음 설치 액세스 토큰에 새 권한이 자동으로 포함됩니다.
참고
권한 업데이트를 수락할 때까지 AWS DevOps 에이전트는 이전에 부여된 권한으로 계속 작동합니다. 업데이트된 권한에 의존하는 새 기능은 요청을 승인할 때까지 사용할 수 없습니다. 새 권한을 수락하지 않도록 선택하면 앱은 현재 권한을 유지합니다.
요청된 권한
다음 표에서는 AWS DevOps 에이전트 GitHub 앱 요청의 각 권한과 필요한 이유를 설명합니다.
등록 중에 읽기 전용을 선택한 경우 GitHub 앱은 다음 표의 각 권한에 대해서만 읽기 수준 액세스를 요청합니다. 읽기 전용 권한이 있는 경우 GitHub 앱은 목적 열에 나열된 쓰기 수준 작업을 수행할 수 없습니다.
| 권한 | 액세스 레벨 | 용도 |
|---|---|---|
| 검사 | 읽기 및 쓰기 | 풀 요청에 대한 검사가 실행됨에 따라 릴리스 후 준비 코드 검토 결과가 표시되므로 검토 상태가 GitHub UI에 직접 표시될 수 있습니다. |
| 워크플로 | 읽기 및 쓰기 | CI/CD 파이프라인에서 릴리스 테스트를 위해 워크플로 정의를 읽고 GitHub Actions 워크플로를 트리거합니다. |
| 작업 | 읽기 및 쓰기 | 인시던트 조사 및 릴리스 테스트 중에 GitHub Actions 워크플로 실행 및 액세스 실행 로그를 모니터링합니다. |
| 내용 | 읽기 및 쓰기 | 코드 검토 분석 및 종속성 매핑을 위해 리포지토리 소스 코드를 읽습니다. 쓰기 액세스를 통해 에이전트는 식별된 문제에 대한 수정 사항을 제안할 수 있습니다. |
| 풀 요청 | 읽기 및 쓰기 | 풀 요청 세부 정보를 읽고 자동 코드 검토를 트리거합니다. 쓰기 액세스를 사용하면 조사 결과 및 권장 수정 사항이 포함된 인라인 검토 의견을 게시할 수 있습니다. |
GitHub 연결 관리
리포지토리 액세스 업데이트 - GitHub 앱이 액세스할 수 있는 리포지토리를 변경하려면 GitHub 계정 또는 조직 설정(또는 GitHub Enterprise Server 인스턴스 설정)으로 이동하여 설치된 GitHub 앱으로 이동하여 AWS DevOps Agent 앱 구성을 수정합니다.
연결된 리포지토리 보기 - AWS DevOps 에이전트 콘솔에서 에이전트 스페이스를 선택하고 기능 탭으로 이동하여 파이프라인 섹션에서 연결된 리포지토리를 봅니다.
GitHub 연결 제거 - 에이전트 공간에서 GitHub를 연결 해제하려면 파이프라인 섹션에서 연결을 선택하고 제거를 선택합니다. GitHub 앱을 완전히 제거하려면 GitHub 계정 또는 조직 설정에서 제거합니다. GitHub Enterprise Server의 경우 GitHub 앱은 등록 중에 인스턴스에서 직접 생성되므로 선택적으로 다음 두 가지를 모두 수행하여 앱을 완전히 정리할 수 있습니다.
앱 제거 - 설정 > 애플리케이션 > 설치된 GitHub 앱으로 이동하여 앱에서 구성을 선택한 다음 제거합니다.
앱 삭제 - 설정 > 개발자 설정 > GitHub 앱으로 이동하여 앱을 선택하고 고급 탭으로 이동한 다음 GitHub 앱 삭제를 선택합니다. 경고: GitHub 앱 삭제는 영구적이며 실행 취소할 수 없습니다. 삭제하는 경우 AWS DevOps 에이전트 콘솔의 처음부터 GitHub Enterprise Server를 다시 등록하여 새 앱을 생성해야 합니다.