InfoGrab DocsInfoGrab Docs

클라우드 통합을 위한 엔드-투-엔드 테스트 인프라

GitLab QA 테스트 시나리오와 통합되는 클라우드 인프라(GCP, AWS) 구성 및 유지 관리 방법을 설명합니다.

이 콘텐츠는 엔드-투-엔드 수준에서 GitLab QA 테스트 시나리오와 통합하는 인프라에 관한 내용입니다. 어떤 인프라가 갖춰져 있나요? # 현재 GCP와 AWS 플랫폼을 사용하여 몇 가지 엔드-투-엔드 시나리오를 테스트하고 있습니다. 이 인프라는 자동화된 테스트 실행 이후에도 남아 있는 리소스가 실수로 삭제되지 않도록 다른 샌드박스 프로젝트와 분리되어 있습니다. 이미 해당 계정에 대한 접근 권한이 없다면 접근 요청을 생성할 수 있습니다. GCP에서는 group-qa-tests-566cc6 을 사용하고, AWS에서는 클라우드 계정 eng-quality-ops-ci-cd-shared-infra-498dbd5a 를 사용합니다. 이러한 플랫폼이 필요한 테스트 시나리오가 있다면, 엔드-투-엔드 테스트 스위트를 효율적으로 통합하고 유지 관리할 수 있도록 기존 인프라와 계정을 활용하는 것을 권장합니다. 왜 이 인프라가 필요한가요? # GitLab에는 알려진 클라우드 제공업체와 잘 통합되는 여러 기능이 있습니다. 이 통합을 완전히 테스트하기 위해, GitLab QA와 해당 제공업체를 연결하는 인프라가 마련되어 있습니다. 현재 GCP의 Cloud Storage 리소스를 사용하여 오브젝트 스토리지(GCS)를 테스트하고 쿠버네티스 클러스터를 생성하고 있습니다. 또한 AWS를 사용하여 오브젝트 스토리지(S3)를 테스트하고 있습니다. 이 인프라는 어떻게 유지 관리하나요? # 테스트가 리소스 제거에 실패하더라도 GCP의 리소스가 정리될 수 있도록 보장하는 활성 Janitor 프로젝트가 있습니다. Janitor job은 예약된 파이프라인에서 매일 실행되며, GCP group-qa-tests-566cc6 만을 대상으로 합니다. AWS는 라이프사이클 관리 규칙을 사용하여 1일 후 오브젝트를 삭제합니다. 이러한 환경에 대한 접근 권한이 있는 모든 사람이 자격 증명을 교체할 수 있는 프로세스 가 마련되어 있습니다.