Code Quality를 한꺼번에 모든 곳에서 사용 설정하면, 모든 팀이 같은 날 자신의 풀 리퀘스트에서 Code Quality 탐지 결과를 보게 되므로 당황스럽고 업무 흐름을 방해할 수 있습니다. 이 자습서에서는 먼저 작은 그룹에 결과를 소개하고 임계값을 보정한 다음 확장하는 단계로 롤아웃하는 방법을 알아봅니다. 전체 조직에 영향을 미치기 전에 값을 증명합니다.
사전 요구 사항
- 엔터프라이즈 소유자가 귀하의 엔터프라이즈에서 Code Quality을(를) 허용했습니다. 엔터프라이즈에서 GitHub Code Quality 사용 허용을(를) 참조하세요.
- 조직 소유자이므로 조직 수준에서 Code Quality를 활성화하고 규칙 집합을 구성할 수 있습니다.
파일럿을 계획하세요
조직 전체가 아닌 소규모 파일럿 그룹으로 시작합니다. 좋은 파일럿 그룹은 단일 엔지니어링 팀 또는 관련 애플리케이션 집합으로, 의미 있는 결과를 생성할 수 있을 만큼 활발하며 결과에 대한 피드백을 제공할 수 있는 사람들이 소유하고 있습니다.
해당 그룹을 대상으로 지정하려면 조직의 리포지토리 액세스 설정을 Code Quality사용합니다. 파일럿에 대한 두 가지 좋은 옵션이 있습니다.
- 선택한 리포지토리: 파일럿 리포지토리의 고정 목록을 직접 선택합니다. 파일럿 그룹이 작고 안정적일 때 가장 좋습니다.
- 필터 일치: 사용자 지정 속성
code-quality-enabled: true과 같이 정의한 조건과 일치하는 모든 리포지토리를 사용하도록 설정합니다. 팀이 더 많은 리포지토리에 태그를 지정할수록 파일럿 규모가 자동으로 확대되기를 원할 때 가장 적합합니다.
리포지토리 이름을 하나씩 지정하는 대신 사용자 지정 속성을 대상으로 지정하면 나중에 더 많은 리포지토리에서 속성을 설정하여 파일럿을 확장할 수 있습니다. 사용자 지정 속성을 사용하려는 경우:
- 사용자 지정 속성을 만듭니다. 조직의 리포지토리에 대한 사용자 지정 속성 관리을(를) 참조하세요.
- 필터와 일치하는 리포지토리에 대해 조직 수준에서 Code Quality을(를) 사용하도록 설정합니다. 조직 및 기업 전반의 코드 품질 활성화을(를) 참조하세요.
평가 모드에서 품질 규칙 세트 켜기
먼저 평가 모드에서 품질 임계값을 사용하도록 설정합니다. 이 모드에서는 Code Quality 어떤 풀 요청이 차단될 것인지 실제로 차단하지 않고 알려주므로, 파일럿 팀이 강제 적용되기 전에 영향을 미리 확인할 수 있습니다.
파일럿 리포지토리로 범위가 지정된 조직 규칙 집합으로 임계값을 설정하고 영향을 판단하기에 충분한 끌어오기 요청 작업을 수집할 때까지 평가 모드로 유지합니다(일반적으로 1~2주). 끌어오기 요청에 대한 코드 품질 임계값 설정을(를) 참조하세요.
임계값 조정
평가 모드 결과를 사용하여 임계값을 보정합니다. 규칙 집합 인사이트(규칙 집합의 기록)를 확인하여 차단된 끌어오기 요청과 이유를 정확하게 확인합니다. 차단되는 풀 요청이 너무 많다면, 임계값이 현재 코드베이스가 감당할 수 있는 수준보다 더 엄격할 수 있습니다. 거의 아무도 차단되지 않는 경우, 당신은 그들을 강화 할 수 있습니다. 실제로 적용하려는 품질 표시줄이 게이트에 반영될 때까지 조정합니다.
강제 적용 모드로 이동
평가 모드 결과가 올바르게 표시되면 규칙 집합을 평가에서 활성으로 전환합니다. 이제 임계값이 충족되지 않는 끌어오기 요청을 차단하기 시작합니다. 파일럿 팀이 강제 게이트를 직접 거치면서, 롤아웃을 확대하기 전에 최종 점검 기회를 제공합니다.
조직 전체로 확장
파일럿에서 배운 내용을 사용하여 롤아웃을 확장합니다. 다음 두 가지 방법으로 확장할 수 있습니다.
- 선택한 리포지토리 목록에 리포지토리를 추가하거나 필터와 일치하는 더 많은 리포지토리에서 사용자 지정 속성을 설정합니다.
- 임계값에 대한 확신이 있으면 리포지토리 액세스 설정을 모든 리포지토리 로 전환하여 단일 변경으로 전체 조직에 적용 Code Quality 합니다.
올바른 방법을 선택할 수 있도록 조직 수준 사용이 작동하는 방식에 대해 알아야 할 몇 가지 사항은 다음과 같습니다.
- 리포지토리 액세스 선택은 기존 리포지토리와 향후 리포지토리 모두에 적용되므로 나중에 만든 리포지토리는 자동으로 선택을 상속합니다. 이는 모든 리포지토리, 필터 일치 및 리포지토리 없음에 적용됩니다.
- 리포지토리 관리자가 재정의할 수 없는 기준을 보장하려면 액세스 강제 적용을 켜세요. 이 설정을 끄거나 리포지토리에서 결정을 선택하여 각 팀이 자체 일정에 맞춰 옵트인할 수 있도록 합니다.
- Code Quality 사용하도록 설정해도 코드 검사 기능이 자동으로 설정되지는 않습니다. 적용 범위는 리포지토리당 옵트인입니다. 누군가가 적용 범위 데이터를 업로드하는 워크플로를 추가한 후에만 보고가 시작되므로 팀에서 먼저 채택 Code Quality 하고 나중에 적용 범위를 추가할 수 있습니다. 리포지토리에 대한 코드 검사 설정을(를) 참조하세요.
액세스 옵션의 전체 목록 및 적용 방법은 조직 및 기업 전반의 코드 품질 활성화을 참조하세요.
프로그래밍 방식으로 크기 조정
대부분의 롤아웃에서 UI를 통해 사용하도록 설정하는 것이 가장 좋은 시작점입니다. 즉, 리포지토리를 직접 필터링하고 대상으로 지정할 수 있으므로 스크립트에서 재현하기가 더 어렵습니다.
롤아웃을 중심으로 자동화가 필요한 경우 REST API를 통해 결과를 가져올 Code Quality 수 있습니다. 이는 확장할 때 진행 상황을 보고하는 데 유용합니다. REST API를 통해 리포지토리에서 Code Quality를 활성화할 수도 있으므로 UI에서 각 리포지토리마다 일일이 활성화하는 대신 조직 전체에서 스크립트로 활성화할 수 있습니다. 코드 품질에 대한 REST API 엔드포인트을(를) 참조하세요.
다음 단계
- 조직 전체의 상태를 평가합니다. 조직에서 GitHub 코드 품질 결과 살펴보기을(를) 참조하세요.