기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
GitLab 연결
GitLab 통합을 통해 AWS DevOps Agent는 GitLab Pipelines의 배포를 모니터링하여 인시던트 대응 중에 인과 조사를 알릴 수 있습니다. 이 통합은 GitLab의 계정 수준 등록 후 특정 프로젝트를 개별 에이전트 스페이스에 연결하는 2단계 프로세스를 따릅니다.
GitLab 등록(계정 수준)
GitLab은 AWS 계정 수준에서 등록되고 해당 계정의 모든 에이전트 스페이스 간에 공유됩니다. 각 등록은 하나의 GitLab 사용자 또는 하나의 GitLab 그룹에 연결됩니다.
1단계: 파이프라인 공급자로 이동
AWS Management Console에 로그인
AWS DevOps 에이전트 콘솔로 이동
기능 공급자 페이지로 이동(측면 탐색에서 액세스 가능)
파이프라인의 사용 가능한 공급자 섹션에서 GitLab을 찾고 등록을 선택합니다.
2단계: GitLab 연결 구성
GitLab 등록 페이지에서 다음을 구성합니다.
연결 유형 - 개인 또는 그룹으로 연결할지 여부를 선택합니다.
개인(기본값) - 사용자 이름과 프로필이 있는 개별 GitLab 사용자 계정
그룹 - GitLab에서는 그룹을 사용하여 하나 이상의 관련 프로젝트를 동시에 관리합니다.
GitLab 인스턴스 유형 - 연결할 GitLab 인스턴스 유형을 선택합니다.
GitLab.com(기본값) - 퍼블릭 GitLab 서비스
GitLab 자체 관리형 - GitLab 자체 호스팅 엔드포인트 사용 확인란을 선택하고 GitLab 인스턴스에 URL을 제공합니다.
GitLab 자체 관리형 프라이빗 연결
프라이빗 연결을 사용하여 엔드포인트에 연결 - 퍼블릭 인터넷을 통해 GitLab 자체 관리형 인스턴스에 연결할 수 없는 경우 VPC에 대한 프라이빗 연결을 통해 AWS DevOps 에이전트가 연결하도록 하려면이 옵션을 선택합니다. GitLab을 등록하기 전에 프라이빗 연결을 생성한 다음 여기에서 기존 연결을 선택합니다. 자세한 내용은 프라이빗 호스팅 도구에 연결 단원을 참조하십시오.
액세스 토큰 - GitLab 개인 액세스 토큰을 제공합니다.
별도의 브라우저 탭에서 GitLab 계정에 로그인합니다.
사용자 설정으로 이동하여 액세스 토큰을 선택합니다.
다음 권한을 사용하여 새 개인 액세스 토큰을 생성합니다.
read_repository- 리포지토리 콘텐츠에 액세스하는 데 필요합니다.read_virtual_registry- 가상 레지스트리 정보에 액세스하는 데 필요합니다.read_registry- 레지스트리 정보에 액세스하는 데 필요합니다.api- 읽기 및 쓰기 API 액세스에 필요합니다.self_rotate- 토큰 교체에 필요합니다. 이 기능은 현재 AWS DevOps 에이전트에서 지원되지 않지만 나중에 지원됩니다. 이제를 추가하면 향후 새 토큰을 생성할 필요가 없습니다.
토큰 만료를 현재 날짜로부터 최대 365일로 설정합니다.
생성된 토큰 복사
AWS DevOps 에이전트 콘솔로 돌아가기
토큰을 “토큰 액세스” 필드에 붙여넣습니다.
3단계: 등록 완료
(선택 사항) 태그 - 조직용으로 GitLab 등록에 AWS 태그를 추가합니다.
다음을 선택하여 구성을 검토한 다음 제출을 선택하여 GitLab 등록 프로세스를 완료합니다. 시스템에서 액세스 토큰을 검증하고 연결을 설정합니다.
에이전트 스페이스에 프로젝트 연결
계정 수준에서 GitLab을 등록한 후 특정 프로젝트를 개별 에이전트 스페이스에 연결할 수 있습니다.
AWS DevOps 에이전트 콘솔에서 에이전트 스페이스를 선택합니다.
기능 탭으로 이동
파이프라인 섹션에서 추가를 선택합니다.
사용 가능한 공급자 목록에서 GitLab을 선택합니다.
사용하려는 프로젝트가 포함된 GitLab 등록을 선택합니다.
에이전트 스페이스와 관련된 GitLab 프로젝트 선택
저장을 선택합니다.
AWS DevOps Agent는 이러한 프로젝트의 GitLab Pipelines 배포를 모니터링하여 인과 조사를 알립니다. 단일 에이전트 스페이스는 여러 등록의 프로젝트를 사용할 수 있습니다. 다른 등록의 프로젝트를 추가하려면 다음 단계를 반복합니다.
코드 검토 및 자동 테스트 구성
GitLab 연결 단계에서 프로젝트를 선택하면 해당 프로젝트가 코드 검토 및 자동 테스트 섹션에 자동으로 추가됩니다. 이 섹션에서는 릴리스 준비 상태 코드 검토 및 자동 테스트 기능을 자동으로 트리거하는 프로젝트를 구성합니다.
코드 검토 및 자동 테스트 구성에는 다음이 포함됩니다.
기능 - 각 프로젝트에 대한 코드 검토 및 자동 테스트 기능을 선택합니다. 이 섹션에서는 프로젝트당 두 가지 설정을 제공합니다.
변경 검토 자동 트리거 - 프로젝트에 대해 활성화된 경우 DevOps Agent는 병합 요청이 열리거나 업데이트될 릴리스 준비 상태 코드 검토 때마다를 자동으로 실행합니다. 검토 결과는 병합 요청에 인라인 주석으로 표시됩니다. 이는 연결된 모든 프로젝트에 대해 기본적으로 활성화됩니다.
자동 확인 테스트 - 프로젝트에 대해 활성화된 경우 DevOps Agent는 코드 검토 중에 관리형 확인 환경에서 코드 변경 사항을 빌드, 실행 및 테스트합니다. 이를 통해 정적 분석 이상의 기능 검증이 가능합니다. 자세한 내용은 자동 확인 테스트를 참조하세요. 이는 연결된 모든 프로젝트에 대해 기본적으로 활성화됩니다.
프로젝트 목록 - 연결 단계에서 선택한 모든 프로젝트를 표시합니다. 검색 필드를 사용하여 이름을 기준으로 프로젝트를 필터링합니다. 각 프로젝트에는 두 기능에 대한 독립적인 확인란이 있습니다.
런타임 역할(선택 사항) - DevOps 에이전트가 선택한 프로젝트에서 자동 기능을 실행하기 위해 수임하는 IAM 역할을 선택합니다. 이 역할은 프라이빗 패키지 레지스트리 및 아티팩트 스토리지 시스템과 같은 빌드 중에 필요한 내부 서비스에 액세스할 때 사용됩니다. 기본 에이전트 역할과 다른 역할을 사용하는 것이 좋습니다.
자동 검토를 구성하려면:
프로젝트를 연결한 후 GitLab 통합 설정에서 코드 검토 및 자동 테스트 섹션으로 이동합니다.
각 프로젝트에 대해 자동 병합 요청 검토를 원하는지 여부에 따라 자동 트리거 변경 검토 기능을 활성화하거나 비활성화합니다.
각 프로젝트에 대해 관리형 확인 환경에서 자동 확인 테스트를 원하는지 여부에 따라 자동 확인 테스트 기능을 활성화하거나 비활성화합니다.
선택적으로 선택한 프로젝트에서 자동 기능을 실행할 때 DevOps 에이전트가 수임할 런타임 역할 드롭다운에서 IAM 역할을 선택합니다.
저장을 선택하여 구성을 적용합니다.
구성되면 자동 트리거 변경 검토가 활성화된 프로젝트의 새 병합 요청이 릴리스 준비 상태 코드 검토를 자동으로 트리거합니다. 자동 확인 테스트도 활성화된 경우 검토에는 확인 환경의 기능 검증이 포함됩니다. 코드 검토에 대한 자세한 내용은 섹션을 참조하세요릴리스 준비 상태 코드 검토.
고급 설정: 트리거 필터
기본적으로 자동 트리거 변경 검토가 활성화된 프로젝트는 모든 대상 브랜치에서 해당하는 모든 병합 요청 이벤트에 대해 릴리스 준비 코드 검토를 실행합니다. 고급 설정을 사용하여 각 프로젝트에 대해 자동 검토가 실행되는 시기를 정확하게 제어하는 트리거 필터를 추가합니다.
각 필터는 두 조건을 결합하는 필터 그룹입니다.
대상 브랜치(필수) - 정규식(예: 또는 )으로 입력되는 하나 이상의 브랜치 이름
main또는 패턴입니다release/.*. 병합 요청의 대상 브랜치가 이러한 패턴 중 하나와 일치하는 경우에만 검토가 트리거됩니다.트리거 이벤트(선택 사항) - 검토를 트리거하는 병합 요청 이벤트: 병합 요청 검토 준비 완료 또는 병합 요청 초안 작성. 해당하는 모든 이벤트와 일치하도록 비워 둡니다.
필터 그룹 내에서 모든 조건은 (AND)와 일치해야 합니다. 여러 필터 그룹을 추가할 수 있으며, 그룹이 (OR)과 일치하면 검토가 트리거됩니다.
트리거 필터를 구성하려면:
연결 흐름에서 고급 설정 섹션을 엽니다. (기존 연결에서 필터를 변경하려면 파이프라인 섹션에서 연결을 선택하고 편집을 선택한 다음 고급 설정을 엽니다.)
구성하려는 프로젝트를 찾아 변경 검토 탭을 선택합니다.
필터 그룹 추가를 선택한 다음 그룹의 조건을 정의합니다.
대상 브랜치에서 브랜치 이름 또는 패턴을 입력하고 Enter 키를 누르거나 추가를 선택합니다. 반복하여 패턴을 더 추가합니다.
(선택 사항) 이벤트 트리거에서 검토 준비 완료 요청 병합, 요청 초안 병합 또는 둘 다를 선택합니다. 모든 이벤트와 일치하도록 비워 둡니다.
(선택 사항) 필터 그룹 추가를 다시 선택하여 대체 조건을 표시합니다.
저장을 선택하여 구성을 적용합니다.
그룹당 최대 20개의 패턴으로 프로젝트당 최대 5개의 필터 그룹을 정의할 수 있습니다. 각 패턴은 최대 256자의 유효한 정규식이어야 합니다. 필터 그룹을 추가하지 않으면가 모든 대상 브랜치에 해당하는 모든 이벤트에 대한 트리거를 검토합니다.
문제 해결
프라이빗 연결에서 GitLab 자체 관리형을 사용하는 경우 DNS, 네트워크 연결성, 보안 그룹 또는 TLS 오류는 섹션을 참조하세요프라이빗 연결 문제 해결.
일부 프로젝트는 프로젝트 목록에 표시되지 않습니다.
증상
GitLab을 성공적으로 등록할 수 있지만 연결할 것으로 예상되는 하나 이상의 프로젝트가 프로젝트 목록에 표시되지 않습니다.
원인
개인 연결의 경우 AWS DevOps 에이전트는 액세스 토큰의 사용자가 멤버인 프로젝트를 나열합니다. 사용자가 다른 GitLab 액세스 경로를 통해 프로젝트를 볼 수 있더라도 해당 사용자가 멤버가 아닌 경우에는 프로젝트가 표시되지 않습니다.
해결 방법
액세스 토큰의 사용자가 연결하려는 각 프로젝트의 멤버인지 확인합니다.
토큰이 만료되지 않았는지 확인하고 2단계: GitLab 연결 구성에 나열된 범위를 포함합니다.
프로젝트 멤버십을 변경하거나 토큰을 교체한 후 프로젝트 목록을 새로 고칩니다.
GitLab 프로젝트를 연결할 수 없음
증상
GitLab project '<path>' (ID: <id>) is not accessible to this GitLab token. 또는를 사용하여 프로젝트 연결 실패 GitLab is currently throttling requests (HTTP 429). Please retry the association later.
원인
토큰이 선택한 프로젝트를 읽을 수 없거나 GitLab이 프로젝트 검증 요청을 일시적으로 제한하고 있습니다.
해결 방법
토큰이 유효하고 해당 사용자 또는 그룹이 선택한 프로젝트에 액세스할 수 있는지 확인합니다.
토큰에 2단계: GitLab 연결 구성의 필수 범위가 포함되어 있는지 확인합니다.
GitLab이 HTTP 429를 반환하는 경우 연결을 기다렸다가 다시 시도합니다.
GitLab 연결 관리
액세스 토큰 업데이트 - 액세스 토큰이 만료되거나 업데이트해야 하는 경우 등록 취소 없이 교체할 수 있습니다. 기능 공급자 페이지의 GitLab 등록을 선택하고 작업 메뉴에서 업데이트를 선택한 다음 새 토큰을 입력합니다. 에이전트 스페이스 연결 및 프로젝트 연결은 보존됩니다.
연결된 프로젝트 보기 - AWS DevOps 에이전트 콘솔에서 에이전트 스페이스를 선택하고 기능 탭으로 이동하여 파이프라인 섹션에서 연결된 프로젝트를 봅니다.
GitLab 연결 제거 - 에이전트 공간에서 GitLab 프로젝트를 연결 해제하려면 파이프라인 섹션에서 연결을 선택하고 제거를 선택합니다. GitLab 등록을 완전히 제거하려면 먼저 모든 에이전트 스페이스에서 제거한 다음 계정 수준에서 등록을 삭제합니다.