GitLab QA 실행하기
다음 문서는 배포된 클라우드 네이티브 GitLab 설치에서 GitLab QA를 실행하기 위한 지침을 제공합니다.
이 단계는 이 프로젝트의 CI의 일부로 수행되지만, 개발이나 데모 중에 수동 실행을 요청할 수 있습니다.
준비
GitLab QA를 실행하기 전에 몇 가지 작업을 수행해야 합니다.
GitLab 실행 버전 확인
배포된 GitLab 차트에서 /admin
으로 방문하여 실행 중인 GitLab 버전의 구성 요소 패널을 확인합니다. 이 버전이 X.Y.Z-pre
인 경우 nightly
이미지를 사용해야 합니다. 이 버전이 X.Y.Z-ee
인 경우 해당 버전의 GitLab QA 이미지를 사용해야 합니다.
관찰한 내용을 바탕으로 GITLAB_VERSION
을 내보냅니다:
export GITLAB_VERSION=11.0.3-ee
또는:
export GITLAB_VERSION=nightly
네트워크 접근
GitLab QA를 실행하려면 배포된 인스턴스에 지속적인 네트워크 접근이 필요합니다.
브라우저에서 배포를 방문하거나 cURL을 통해 이를 확인하십시오.
파이프라인에서 GitLab QA 실행하기
배포된 인스턴스에 대해 GitLab QA 테스트를 실행하려면 GitLab QA Executor를 사용할 수 있습니다. 이 프로젝트는 GitLab QA를 자가 관리 GitLab 환경에서 실행하기 위한 CI 구성을 포함하며, 이를 통해 로컬 머신에서 GitLab QA를 실행하는 수동 단계를 자동화하는 병렬화를 제공합니다.
로컬 머신에서 GitLab QA 실행하기
아래 지침에 따라 로컬 머신에서 배포된 인스턴스에 대해 GitLab QA를 실행합니다.
gitlab-qa
gem 설치
기능하는 Ruby 버전이 필요하며, 3.0
브랜치를 권장합니다.
gitlab-qa
gem을 설치합니다:
gem install gitlab-qa
자세한 내용은 GitLab QA 문서를 참조하십시오.
Docker
GitLab QA는 Docker를 사용하므로 운영 가능한 설치가 필요합니다.
데몬이 실행 중인지 확인하십시오. GITLAB_VERSION=nightly
을 설정한 경우, GitLab QA 야간 이미지를 풀하여 최신 야간 빌드가 테스트에 사용되도록 합니다. CNG 컨테이너의 야간 빌드와 함께 사용됩니다:
docker pull gitlab/gitlab-ee-qa:$GITLAB_VERSION
구성
실행에 필요한 항목은 환경 변수로 설정됩니다:
-
GITLAB_VERSION
: 실행할 GitLab QA 버전. 위의 GitLab 실행 버전 확인을 참조하십시오. -
GITLAB_USERNAME
:root
입니다. -
GITLAB_PASSWORD
:root
사용자에 대한 비밀번호입니다. -
GITLAB_ADMIN_USERNAME
:root
입니다. -
GITLAB_ADMIN_PASSWORD
:root
사용자에 대한 비밀번호입니다. -
GITLAB_URL
: 배포된 인스턴스에 대한 완전한 URL입니다. 형식은https://gitlab.domain.tld
여야 합니다. -
EE_LICENSE
: GitLab EE 라이센스를 포함하는 문자열입니다.export EE_LICENSE=$(cat GitLab.gitlab-license)
를 통해 처리할 수 있습니다.
위 항목을 검색하고 환경 변수로 내보냅니다.
테스트 스위트 선택
GitLab QA는 독립 실행형 환경에서 실행할 수 있는 여러 테스트 스위트를 제공합니다.
스위트는 엔드 투 엔드 테스트가 다양한 RSpec 메타데이터로 그룹화될 때 테스트의 하위 집합으로 구성됩니다:
-
스모크 스위트: 기본 기능이 작동하는지 빠르게 확인하기 위해 작은 하위 집합의 빠른 엔드 투 엔드 기능 테스트
- 이 스위트를 활성화하려면
export QA_OPTIONS="--tag smoke"
를 사용하세요.
- 이 스위트를 활성화하려면
-
스모크 및 블로킹 스위트: 주요 기능이 작동하는지 확인하기 위한 스모크 및 블로킹 테스트의 하위 집합
- 이 스위트를 활성화하려면
export QA_OPTIONS="--tag smoke --tag blocking --tag ~skip_live_env --tag ~orchestrated --tag ~github"
를 사용하세요.
- 이 스위트를 활성화하려면
-
풀 스위트: 환경에 대해 모든 테스트 실행. 전체 테스트 실행에는 한 시간이 넘는 시간이 소요됩니다.
- 이 스위트를 활성화하려면
--tag ~skip_live_env --tag ~orchestrated --tag ~requires_praefect --tag ~github --tag ~requires_git_protocol_v2 --tag ~transient
를 사용하세요.
- 이 스위트를 활성화하려면
테스트 스위트 선택은 사용 사례에 따라 다릅니다. 대부분의 경우, 스모크 및 블로킹 스위트를 실행하면 빠르고 일관된 테스트 결과를 제공하며 좋은 테스트 커버리지를 제공합니다. 이 스위트는 GitLab.com 배포에서 정상성을 확인하는 데 사용됩니다.
풀 스위트는 환경에 대한 전체 테스트 결과를 얻기 위해 사용해야 합니다. 이 스위트를 로컬 기기에서 실행하는 것은 자원이 많이 소모될 수 있습니다. 단일 기기에서 풀 스위트를 실행할 때는 export CHROME_DISABLE_DEV_SHM=true
를 사용하세요.
실행
구성 단계에서 환경 변수를 설정하고 테스트 스위트를 선택했다고 가정하면,
다음 명령은 배포된 GitLab 인스턴스에 대해 테스트를 수행합니다:
gitlab-qa Test::Instance::Any EE:$GITLAB_VERSION $GITLAB_URL -- $QA_OPTIONS
주의:
위 명령은 _nightly_로 실행되며,
이 차트의 일부로 사용되는 컨테이너는 현재 gitlab-(ee|ce)
저장소의 master
브랜치의 야간 빌드를 기반으로 하고 있습니다.