GitLab CI/CD로 테스트하기
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
GitLab CI/CD를 사용하여 기능 브랜치의 변경 사항을 테스트합니다. 다음과 같은 보고서를 생성할 수 있습니다: 머지 리퀘스트의 접근성, 코드 품질, 라이선스 스캔, 메트릭, 단위 테스트 보고서는 소스 브랜치의 결과를 대상 브랜치의 기준 파이프라인과 비교합니다.
GitLab CI/CD를 사용하여 기능 브랜치의 변경 사항을 테스트합니다. 테스트 보고서를 표시하고 중요한 정보를 머지 리퀘스트에 직접 링크할 수 있습니다.
테스트 및 품질 보고서#
다음과 같은 보고서를 생성할 수 있습니다:
| 기능 | 설명 |
|---|---|
| 접근성 테스트 | 변경된 페이지의 접근성 위반을 감지합니다. |
| 브라우저 성능 테스트 | 코드 변경의 브라우저 성능 영향을 측정합니다. |
| 코드 커버리지 | 테스트 커버리지 결과, diff의 라인별 커버리지 및 전체 메트릭을 확인합니다. |
| 코드 품질 | Code Climate으로 소스 코드 품질을 분석합니다. |
| 임의 job 아티팩트 표시 | artifacts:expose_as를 사용하여 선택한 job 아티팩트에 링크합니다. |
| 빠른 실패 테스트 | RSpec 테스트가 실패할 때 파이프라인을 일찍 중지합니다. |
| 라이선스 스캔 | 의존성 라이선스를 스캔하고 관리합니다. |
| 부하 성능 테스트 | 코드 변경의 서버 성능 영향을 측정합니다. |
| 메트릭 보고서 | 메모리 사용량 및 성능과 같은 커스텀 메트릭을 추적합니다. |
| 단위 테스트 보고서 | job 로그를 확인하지 않고 테스트 결과를 보고 실패를 식별합니다. |
기준 파이프라인 선택#
머지 리퀘스트의 접근성, 코드 품질, 라이선스 스캔, 메트릭, 단위 테스트 보고서는 소스 브랜치의 결과를 대상 브랜치의 기준 파이프라인과 비교합니다. GitLab은 다음 과정으로 기준 파이프라인을 식별합니다.
- 대상 브랜치에서 다음 커밋 SHA와 일치하는 파이프라인을 순서대로 확인합니다.
- 머지 결과 파이프라인이 생성된 시점의 대상 브랜치 선두(tip). 이 SHA는 머지 결과 파이프라인에서만 사용할 수 있습니다.
- 머지 베이스 커밋(소스 브랜치와 대상 브랜치의 공통 조상).
- 머지 리퀘스트 diff의 시작 커밋.
- 일치하는 파이프라인이 있는 첫 번째 SHA에 대해, 가장 최근에 생성된(파이프라인 ID 기준) 파이프라인을 선택합니다.
기준 파이프라인 선택은 다음과 같이 동작합니다.
- 파이프라인 상태로 필터링하지 않습니다.
running이나failed를 포함한 모든 상태의 파이프라인이 기준으로 선택될 수 있습니다. - 기준 파이프라인에 보고서 아티팩트가 있는지 확인하지 않습니다.
파이프라인 유형은 어떤 커밋 SHA가 먼저 일치하는지에 영향을 줍니다.
- 머지 결과 파이프라인: 기준은 일반적으로 머지 결과 파이프라인이 생성된 시점의 대상 브랜치 선두에 있는 최신 파이프라인입니다.
- 머지 리퀘스트 파이프라인과 브랜치 파이프라인: 기준은 일반적으로 머지 베이스 커밋 시점의 대상 브랜치에 있는 최신 파이프라인입니다.
비교할 기준이 항상 있도록 하려면 다음을 수행합니다.
- 대상 브랜치에서 비교하려는 보고서 아티팩트를 생성하는 파이프라인을 실행합니다.
- 머지 리퀘스트 파이프라인이나 브랜치 파이프라인을 사용한다면, 머지 베이스 커밋에 대상 브랜치의 파이프라인이 있는지 확인합니다.
보안 보고서#
프로젝트에서 취약점을 스캔하여 보안 보고서를 생성할 수 있습니다:
| 기능 | 설명 |
|---|---|
| 컨테이너 스캔 | Docker 이미지에서 취약점을 스캔합니다. |
| 동적 애플리케이션 보안 테스트(DAST) | 실행 중인 웹 애플리케이션에서 취약점을 스캔합니다. |
| 의존성 스캔 | 의존성에서 취약점을 스캔합니다. |
| 정적 애플리케이션 보안 테스트(SAST) | 소스 코드에서 취약점을 스캔합니다. |