문서

품질 정책 및 검증 기준

수행해야 할 작업을 정의하고 프로젝트에 연결한 뒤 안전하게 변경하세요.

A정책정책은 명명되고 버전이 지정된 품질 게이트 집합입니다. 정책은 프로젝트에 연결되는 것이며, 실제로 실행되는 것은 게이트입니다.

개념에 대해서는 – 차단형과 권고형, 게이트가 실행되는 위치 – 다음을 참조하세요.품질 게이트먼저 확인하세요. 이 페이지에서는 이를 관리하는 방법을 다룹니다.

이를 관리하려면품질 관리. 여기에는 조직의 기본 설정과 모든 프로젝트가 나열됩니다. 하나를 선택하여 새로운 작업이 어떻게 검토되는지, 각 변경 사항에서 어떤 항목을 확인하는지, QA 수준과 확인이 실행되는 위치, 그리고 전환하면 즉시 적용되는 스위치를 확인하세요. 확인 과정을 통해 변경 내용을 취소할 수 있으며, 행별 설정으로 해당 확인 절차의 동작 방식을 변경할 수 있습니다.

품질 관리
각 프로젝트에서 검증할 항목을 직접 선택할 수 있습니다. 설정 변경 사항은 즉시 새로운 작업에 적용됩니다.
스토어프론트사용자 정의 설정
작업 QA, 풀 리퀘스트 및 릴리스 검증 단계에서 실행됩니다.
모든 변경 사항에 대한 검사
검사를 통과하지 못한 변경 사항은 다른 사람이 검토하기 전에 개발자에게 다시 전달됩니다.
  • 안티-슬롭테스트가 약화되거나 오류가 숨겨지고, 임시 코드가 배포되거나 구조적 부채가 추가되는 경우 해당 변경 사항을 다시 반려합니다.
  • 단위 테스트모든 변경 사항에 대해 저장소 내의 단위 테스트를 자동으로 찾아서 실행합니다.
  • 브라우저 테스트2개 중 3개기본 설정과 다름변경된 내용을 기반으로 브라우저 상에서 사용자 흐름을 실행하여 검증합니다.
  • 번역기본 설정과 다름변경된 문자열이 올바르게 번역되었는지, 그리고 플레이스홀더와 복수형 표현이 일치하는지를 확인합니다.
  • 저장소 검사서식 지정, 파일 크기 검사, 마이그레이션, 통합 테스트 및 보안 스캔 등 사용자가 지정한 커맨드를 직접 실행합니다.
QA
  • 철저한 QA철저함QA 단계에서는 명세서에 따라 실제 증거와 스크린샷을 수집합니다. 이 기능이 비활성화되면 표준 QA 절차가 적용됩니다.

품질 관리: 적용 중인 정책과 최신 게이트 실행 결과. 예시용 데이터입니다.

정책 생성하기

정책은 확인 항목 집합이며, 각 항목에 대해 실패 시 차단할지 아니면 권고할지를 지정합니다.

대부분의 조직에서는 프로젝트별로 하나씩이 아닌 두세 개의 정책만 필요합니다:

  • a엄격한운영 서비스용 정책
  • a표준적인일반적인 작업용 정책
  • 가끔은 a간소한내부 도구 및 프로토타입용 정책

그보다 많으면 어떤 프로젝트에 어떤 정책이 적용되는지 아무도 기억할 수 없습니다.

조직의 기본 설정과 프로젝트 자체의 설정

프로젝트는 스위치를 변경하기 전까지는 조직의 기본 설정을 따릅니다. 이 변경으로 프로젝트에 고유한 설정이 생성되며, 이 설정은 기본 설정을 복사한 것입니다. 이후 기본 설정이 변경되어도 프로젝트에는 영향을 주지 않습니다. 행에서 기본 설정의 확인 항목을 복사할 수 있으며, 프로젝트 메뉴에서 전체 프로젝트를 조직의 기본 설정으로 재설정할 수도 있습니다. 스위치 뒤에 숨겨진 전체 정책(기대 사항, 확인 항목 간 종속성, 수정 예산 및 버전 포함)은 고급 편집기와 동일한 메뉴에서 열립니다. 기본 설정을 따르는 프로젝트의 경우 편집기는 기본 설정의 복사본에서 시작하며, 이 복사본을 게시하기 전까지는 프로젝트에 아무런 변경도 적용되지 않습니다.

기본값을 귀사의표준적인확인 항목으로 설정하세요. 대부분의 프로젝트에서 실행해야 할 항목이며, 가장 엄격한 항목은 의도적으로 프로젝트별로 선택해야 합니다.

Pull request

사람과 다른 도구가 생성한 Pull request는 Coroid를 통해 Coroid GitHub 앱으로 전달됩니다.Pull request품질 관리 그룹에서는 조직의 기본 설정과 각 프로젝트별로 이에 대한 처리 방식을 결정합니다:

  • Coroid 품질 관리Coroid 품질 관리는 모든 pull request에서 위의 확인 항목을 실행하고 그 결과를 GitHub의 Coroid 품질 관리 확인 항목으로 보고합니다.
  • Coroid 리뷰Coroid 리뷰 담당자는 pull request의 각 항목을 읽고 문제가 있는 줄에 코멘트를 남깁니다. 이 리뷰는 Coroid 품질 관리에서 확인한 Pull request를 대상으로 진행됩니다.

Coroid 리뷰의 설정:

  • 게시 내용.기본값인 권고형은 코멘트를 남기며 확인 항목을 실패시키지 않습니다. 단, 보안에서 보안 리뷰를 강제하는 경우 확인된 치명적 또는 심각한 보안 문제가 발생하면 예외적으로 확인 항목이 실패합니다( 코드 스캔 및 보안 리뷰참조). 차단형으로 설정하면 문제가 발견될 때 요청이 변경되고 확인 항목이 실패합니다. 차단형 리뷰가 병합을 중단시키도록 하려면 GitHub에서 Coroid 리뷰를 필수 확인 항목으로 지정하세요.
  • 어떤 Pull request를 대상으로 할까요?기본적으로 초안이 준비 상태로 표시될 때까지 기다리고, Coroid에서 열린 pull request는 건너뜁니다. Coroid의 리뷰어가 이미 작업 내에서 검토했기 때문입니다. 봇이 만든 pull request도 건너뛸 수 있습니다.
  • 언제 리뷰를 진행할까요?마지막 푸시 이후 일정 시간이 지날 때까지 기다리며, 기본적으로는 5분입니다. 더 새로운 푸시가 있으면 시작되지 않은 리뷰는 취소됩니다. GitHub에서 다시 실행하면 즉시 리뷰가 시작됩니다.
  • 리뷰 깊이.리뷰 담당자가 한 번의 리뷰에서 읽고 작성할 수 있는 범위입니다.

이 설정은 Coroid의 리뷰 규칙과 저장소의review-rules폴더에 있는 규칙을 따릅니다. 조직의 기본 설정을 따르는 프로젝트는 다른 제어 항목과 마찬가지로 기본 설정의 규칙을 적용받습니다.

문제가 발생했을 때

조직의 기본 설정에 있는 세 개의 스위치를 사용하면 모든 프로젝트에서 실패 사항을 후속 작업으로 전환할 수 있습니다. 각 스위치는 Factory의 자동화 항목에 나열된 자동화 기능을 실행하며, 에이전트가 코드를 읽고 작업을 생성하면 이 작업은 다른 작업과 동일한 사양, 빌드, 검증 및 리뷰 과정을 거칩니다.

스위치실행 시점에이전트의 작업 내용
작업이 실패하면 수정 작업을 생성합니다작업이 실패함원인을 파악하고, 원인이 코드에 있을 경우 이를 수정하는 작업을 생성합니다
배포가 실패하면 조사를 진행합니다배포가 실패함해당 버전에서 변경된 내용을 확인하고, 무엇이 잘못되었으며 어떻게 수정해야 하는지를 명시한 작업을 생성합니다
릴리스가 롤백되면 수정 계획을 세웁니다릴리스가 롤백됨롤백된 내용, 그 이유 및 재배포 전에 반드시 수정해야 할 사항을 기록하는 작업을 생성합니다.

자동화 기능을 끄면 해당 작업이 일시 중지되고, 다시 켜면 재개됩니다. 모든 변경 사항에는 실행 취소 기능이 제공됩니다. Factory 내 자동화 페이지에서는 해당 자동화가 품질 관리 프로세스에 의해 관리된다고 표시됩니다. 거기서 자동화를 일시 중지하는 것은 끄는 것과 동일하며, 지침을 변경하면 확인 후에 해당 자동화가 사용자 전용으로 설정되고, 스위치를 켜거나 끌 수 없게 됩니다.

이것들은 새 작업에 포함된 템플릿이었습니다. 이전에 템플릿을 기반으로 생성한 자동화는 계속 실행됩니다. 변경하지 않았다면 해당 스위치를 켜면 기존 자동화가 대신 작동하고 새 자동화가 시작되지는 않습니다. 변경했다면 해당 자동화는 사용자 소유가 되며, 스위치의 행에 이름이 표시되고 이를 채택하면 스위치가 해당 자동화를 관리하게 됩니다.

안전한 배포

게이트의 문제점은 너무 약하다는 것이 아니라, 선의에서 비롯된 차단형 게이트가 조직 내 모든 작업을 한꺼번에 중단시킨다는 점입니다.

안전한 절차는 다음과 같습니다:

  1. 게이트를 다음과 같이 추가하세요:권고형.
  2. 실제 업무에서 1~2주간 작동시키고, 어떤 경고를 발생시키는지 확인하세요.
  3. 확인한 결과를 바탕으로 게이트를 조정하세요.
  4. 다음으로 승격하세요:차단형하나의 프로젝트에서 적용합니다.
  5. 제대로 작동하는 것이 확인되면 더 넓은 범위에 배포하세요.
  1. 1게이트를 추가하기권고형
  2. 21~2주간 모니터링하기권고형
  3. 3감지된 내용에 맞게 조정하기권고형
  4. 4하나의 프로젝트에서 차단형으로 적용하기차단형하나의 프로젝트
  5. 5더 넓게 배포하기차단형더 많은 프로젝트
v6v7배포 시 새 버전이 생성됩니다. 설정이 잘못되었다면 단 한 번의 작업으로 롤백할 수 있습니다.
먼저 권고형으로 적용한 뒤, 하나의 프로젝트에서 차단형으로 테스트하고 점차 더 넓게 확대합니다. 각 배포된 변경 사항은 롤백할 수 있는 새로운 정책 버전이 됩니다.

버전 관리 및 롤백

정책은 버전별로 관리됩니다. 각 스위치는 새 버전을 생성하며, 확인을 통해 이전 버전으로 되돌릴 수 있습니다. 이전 버전은 고급 편집기의 버전 기록에서 복원할 수 있습니다.

롤백 기능 덕분에 배포 결정을 신중하게 내릴 수 있습니다. 새 게이트가 잘 조정되지 않았다면 되돌리는 것이 단 한 번의 작업으로 가능하며, 복잡한 복구 과정을 거칠 필요가 없습니다.

재정의

권한이 있는 사용자는 차단형 게이트를 재정의할 수 있습니다. 재정의 내역은 누가, 언제, 무엇에 대해 적용했는지 기록됩니다.

재정의 빈도를 주의 깊게 모니터링하세요. 게이트가 발동될 때마다 대부분 재정의된다면 해당 게이트는 아무런 제약 기능을 하지 못하고 오히려 불편함과 문서 작업만 유발합니다. 게이트를 수정하거나 삭제하세요.