품질 게이트

Table of Contents

개요

품질 게이트(Quality Gate)는 조직 관점에서 품질 정책을 적용하는 최적의 방법입니다. 품질 게이트를 사용해 다음의 질문에 답할 수 있습니다:

  • 이 프로젝트를 오늘 릴리즈 할 수 있는가?

이 질문에 답하기 위해, 프로젝트의 지표들을 기준으로 일련의 참/거짓 조건을 정의합니다. 예를 들면:

  • 새로운 blocker 이슈 없음
  • 신규 코드에 대한 code coverage가 80% 이상
  • 기타

이상적인 경우, 모든 프로젝트의 품질 게이트가 동일하겠지만 현실적으로는 그렇지 않을 수 있습니다:

  • 각 프로젝트의 기술적인 구현이 다른 경우(웹 어플리케이션, 자바 어플리케이션의 신규 코드의 코드 커버리지 요구가 동일하지 않을 수 있습니다)
  • 특정 프로젝트에 보다 강력한 품질 요구사항을 적용하는 경우(예를 들면, 내부 프레임워크 등)
  • 기타

탑 메뉴의 Quality Gates 페이지로 이동해, 원하는 만큼의 품질 게이트를 자유롭게 생성/사용/관리할 수 있습니다. 

최고의 품질 게이트 설정을 사용하십시오

"SonarQube way" 품질 게이트는 SonarSource가 제공하며, 기본값으로 설정됩니다. 해당 품질 게이트는 Fixing the Water Leak 컨셉에 최적화되어 있습니다. 모든 SaonrQube 릴리즈에는 기본 품질 게이트를 수정하여 적용합니다.

SonarQube 6.2부터 전체 코드 및 신규 코드를 기준으로 신뢰성(Reliability), 보안성(Security) 및 유지보수성(Maintainability) 지표를 적용할 수 있게 되었습니다. 이 새로운 지표들을 기본 품질 게이트의 기준으로 설정되어 있습니다. 기본 품질 게이트를 활용해 여러분의 품질 게이트를 생성하고, 개발자들에게 보다 명확한 피드백을 제공할 것을 권장합니다.

또한 품질 게이트의 조건(condition)은 '차이값'을 사용한다는 것을 명심하십시오. 예를 들면, '라인 수가 1000 초과인 경우'와 같은 절대적인 값을 확인할 수는 없습니다.

권장 품질 게이트

품질 게이트 상태

Project Page의 최상단에 품질 게이트의 현재 상태를 표시합니다:

품질 게이트 통과 실패 시 알림 받기

notification mechanism을 사용해 품질 게이트를 통과하지 못하는 경우 사용자들에게 알림을 전송할 수 있습니다. 알림을 받기 원하는 프로젝트에서 New quality gate status 알림 설정을 구독할 수 있습니다.

보안

품질 게이트는 모든 사용자(임의 사용자 포함)가 접근할 수 있습니다. 모든 사용자는 품질 게이트의 각 항목을 확인할 수 있습니다.

품질 게이트를 생성, 편집, 삭제하려면 Administer Quality Profiles and Gates 권한을 가진 계정으로 로그인해야 합니다.

Project administrator 계정의 사용자는 관리 가능한 프로젝의 품질 게이트를 선택할 수 있습니다(프로젝트 설정 페이지 참조).

품질 게이트 정의하기

품질 게이트를 관리하려면, Quality Gates(상단 메뉴 바)를 사용합니다. 

각 품질 게이트는 다음 요소의 조합으로 구성합니다:

  • measure
  • period: Value (날짜) 혹은 Leak (Leak period 기간 동안의 차이값)
  • comparison operator 
  • warning value (선택)
  • error value (선택)

예를 들어, 아래와 같이 구성할 수 있습니다:

  • measure: Blocker issue
  • period: Value 
  • comparison operator: >
  • error value: 0

이는 "No blocker Issues"라고 명칭할 수도 있습니다.


© 2017-2018 Moses Kim.

별도의 언급이 없는 한, 이 스페이스의 컨텐츠는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
SONARQUBE는 SonarSource SA의 트레이드 마크입니다. 모든 트레이트 마크 및 저작권은 각 소유자의 소유물입니다.

::: SonarQube 관련 문의 : 이메일 :::