GitLab CI/CD로 테스트하기
GitLab CI/CD로 테스트하기
GitLab CI/CD를 이용하면 기능 브랜치의 변경 사항을 파이프라인으로 손쉽게 테스트할 수 있어요. 테스트한 결과를 리포트로 만들어 머지 리퀘스트 화면에 바로 띄우고, 중요한 정보로 연결해 둘 수도 있죠. 이번 글에서는 GitLab이 어떤 테스트·품질 리포트를 만들어 주는지, 그리고 어떤 보안 리포트를 사용할 수 있는지 정리해 볼게요.
출처: 문서
본문
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
테스트 및 품질 리포트
기능 브랜치의 변경 사항을 테스트하기 위해 GitLab CI/CD를 사용할 수 있어요. 다음 리포트를 생성할 수 있습니다.
- 접근성 테스트 (Accessibility testing) — 변경된 페이지에서 접근성 위반을 감지해요.
- 브라우저 성능 테스트 (Browser performance testing) — 코드 변경이 브라우저 성능에 미치는 영향을 측정해요.
- 코드 커버리지 (Code coverage) — 테스트 커버리지 결과, diff에서 줄 단위 커버리지, 전체 지표를 볼 수 있어요.
- 코드 품질 (Code quality) — Code Climate로 소스 코드 품질을 분석해요.
- 임의의 job 아티팩트 표시 (Display arbitrary job artifacts) —
artifacts:expose_as를 사용해 선택한 job 아티팩트를 연결해요. - Fail fast 테스트 (Fail fast testing) — RSpec 테스트가 실패하면 파이프라인을 일찍 멈춰요.
- 라이선스 스캐닝 (License scanning) — 의존성 라이선스를 스캔하고 관리해요.
- 부하 성능 테스트 (Load performance testing) — 코드 변경이 서버 성능에 미치는 영향을 측정해요.
- 메트릭 리포트 (Metrics reports) — 메모리 사용량, 성능 같은 사용자 정의 메트릭을 추적해요.
- 단위 테스트 리포트 (Unit test reports) — 테스트 결과를 보고, job 로그를 확인하지 않고도 실패를 찾아낼 수 있어요.
보안 리포트
- Tier: Ultimate
프로젝트의 취약점을 스캔해서 보안 리포트를 생성할 수 있어요.
- 컨테이너 스캐닝 (Container scanning) — Docker 이미지의 취약점을 스캔해요.
- 동적 애플리케이션 보안 테스트(DAST) (Dynamic application security testing (DAST)) — 실행 중인 웹 애플리케이션의 취약점을 스캔해요.
- 의존성 스캐닝 (Dependency scanning) — 의존성의 취약점을 스캔해요.
- 정적 애플리케이션 보안 테스트(SAST) (Static application security testing (SAST)) — 소스 코드의 취약점을 스캔해요.
더 알아보기 (Learn more)
테스트 리포트를 실제 파이프라인에 붙이는 방법이 궁금하다면 각 리포트 문서(코드 커버리지, 단위 테스트 리포트 등)를 함께 보세요. 보안 쪽을 더 깊이 파고 싶다면 애플리케이션 보안 문서로 이어서 확인할 수 있어요.