참고
GitHub Code Quality은(는) 현재 공개 미리 보기 상태이며 2026년 7월 20일에 일반 공급될 예정입니다.
공개 미리 보기, Code Quality 동안에는 요금이 청구되지 않지만, Code Quality 검사는 완료되는 데 GitHub Actions분이 걸립니다. 2026년 7월 20일부터 사용 요금이 부과됩니다. GitHub Code Quality 청구을(를) 참조하세요.
개요
GitHub Code Quality 는 코드베이스가 안정적이고 유지 관리 가능하며 효율적인지 확인하는 데 도움이 됩니다. 리포지토리의 코드 상태를 효율적으로 개선하고 유지할 수 있도록 새로운 기능을 빌드하거나 기술 문제를 줄이거나 리포지토리 상태에 Code Quality 대한 보고를 수행하든 실행 가능한 인사이트 및 자동화된 수정 사항을 제공합니다.
주요 기능 및 이점
Code Quality로 다음을 수행할 수 있습니다.
- 끌어오기 요청 및 리포지토리 검사를 통해 코드 품질 위험 및 기회를 식별합니다.
- 결과에 대한 명확한 설명을 검토하고 원클릭 Copilot기반 자동 수정을 사용합니다.
- 리포지토리 대시보드를 사용하여 안정성 및 유지 관리 가능성 점수를 추적하고, 주의가 필요한 영역을 식별하고, 수정의 우선 순위를 지정합니다.
- 조직 대시보드를 모니터링하여 리포지토리의 코드 상태를 한눈에 파악하고 자세히 조사할 리포지토리를 결정합니다.
- 끌어오기 요청에 대한 규칙 집합 을 설정하여 코드 품질 표준을 적용하고 조건을 충족하지 않는 변경 내용을 차단합니다. 규칙 집합을 사용하여 적용 범위 임계값을 적용하여 최소 적용 범위 비율을 충족하지 않거나 적용 범위가 허용된 양보다 더 많이 삭제되는 끌어오기 요청을 차단할 수도 있습니다.
- 끌어오기 요청에서 직접 테스트 검사 메트릭을 볼 수 있도록 코드 검사 보고서를 업로드하여 검토자가 테스트되지 않은 코드를 식별할 수 있도록 지원합니다.
- 라이선스가 있는 경우 Copilot 클라우드 에이전트 에 수정 작업을 쉽게 할당합니다.
가용성 및 사용 비용
GitHub Code Quality는 조직이 소유한 리포지토리에서 GitHub Team 및 GitHub Enterprise Cloud 플랜에 사용할 수 있습니다.
GitHub Code Quality은(는) 현재 공개 미리 보기 상태이며 2026년 7월 20일에 일반 공급될 예정입니다. 공개 미리 보기 동안 Code Quality 스캔에는 GitHub Actions분이 소요되지만, 기타 사용량에 대해서는 요금이 청구되지 않습니다. 2026년 7월 20일부터 사용량에 추가 요금이 부과됩니다. GitHub Code Quality 청구을(를) 참조하세요.
요금을 방지하려면 2026년 7월 20일 이전에 사용하지 않도록 설정합니다 Code Quality . 비활성화 GitHub Code Quality을(를) 참조하세요.
참고
당신은Copilot 또는 Code Security 라이선스가 없어도 Code Quality를 사용하거나 Copilot 기반의 자동 수정 기능을 적용할 수 있습니다.
지원되는 언어
Code Quality는 CodeQL을 사용하여 다음 언어에 대한 규칙 기반 분석을 수행합니다.
- C#
- Go
- Java
- JavaScript
- 파이썬
- 루비
- TypeScript
Code Quality 또한 "AI 결과" 리포지토리 대시보드에 개별적으로 표시된 결과를 사용하여 AI 기반 분석을 수행합니다. 전체 코드베이스 및 끌어오기 요청을 검사하는 규칙 기반 CodeQL 분석과 달리 이 AI 기반 분석은 최근 기본 분기로 푸시된 파일만 검사하고 위에 나열된 것 이외의 언어로 문제를 식별할 수 있습니다. 자세한 내용은 앱 카드: GitHub 보안 및 품질 관련 AI 기능을(를) 참조하세요.
검색 결과는 어디에 표시될까요?
리포지토리에서 Code Quality를 활성화하면 CodeQL에 대한 스캔이 표시됩니다.
- 기본 분기에 대해 열려 있는 모든 새 풀 리퀘스트
- 업데이트할 때 기본 분기에 대한 모든 기존 끌어오기 요청이 새 CI 테스트 실행을 트리거합니다.
- "코드 품질" 설정 페이지에 표시된 시간 및 날짜에 해당하는 기본 분기의 전체 코드베이스
또한 기본 브랜치에 대한 모든 최근 푸시에 대한 인공지능 기반 분석을 볼 수 있습니다.
끌어오기 요청 결과
CodeQL가 끌어오기 요청에서 규칙 기반 문제를 찾으면, github-code-quality[bot]의 주석이 표시됩니다. 가능한 경우 각 주석에는 문제를 해결하는 방법에 대한 제안이 포함 코파일럿 자동 수정 됩니다.
끌어오기 요청을 병합하기 전에 코드 품질 결과 수정을(를) 참조하세요.
코드 커버리지를 설정한 경우 github-code-quality[bot]는 기본 브랜치와 비교한 PR 브랜치의 전체 커버리지 비율을 보여 주는 커버리지 요약도 게시합니다.
리포지토리에 대한 코드 품질 결과 해석을(를) 참조하세요.
기본 브랜치 결과
기본 분기에 대한 Code Quality 발견 사항은 리포지토리 코드 품질 탭의 " Security and quality" 페이지에 보고됩니다.
- 표준 결과 는 품질 분석 결과를 CodeQL 보여 줍니다. 리포지토리 코드의 품질 향상을(를) 참조하세요.
- AI 결과 는 가장 최근에 기본 분기에 푸시된 파일의 AI 기반 분석 결과를 보여 줍니다. AI를 사용하여 최근에 병합된 코드의 품질 향상을(를) 참조하세요.
검사 정보
각 CodeQL 분석은 GitHub Actions 분을 소요하며, 리포지토리의 작업 탭에서 동적 "코드 품질" 워크플로의 실행으로 확인할 수 있습니다.
기업 전반에서 지원이 이루어지는 방식
Code Quality 는 세 가지 수준에서 제어되므로 조직 및 리포지토리에 제공할 자율성을 결정할 수 있습니다.
- 엔터프라이즈: 엔터프라이즈 소유자는 먼저 Code Quality을 엔터프라이즈에 대해 허용해야 합니다. 이렇게 하기 전까지는 조직 소유자가 사용하도록 설정할 수 없습니다.
- 조직: 조직 소유자는 모든 리포지토리, 선택한 목록 또는 필터와 일치하는 리포지토리에 대한 액세스 권한을 부여하여 Code Quality를 활성화하거나 비활성화할 리포지토리를 제어합니다. 리포지토리 관리자가 변경할 수 없도록 이러한 설정을 적용할 수도 있습니다.
- 리포지토리: 리포지토리 관리자는 조직 수준 적용이 적용되지 않는 한 개별 리포지토리에 대해 사용하거나 사용하지 않도록 설정할 Code Quality 수 있습니다.
리포지토리에서 Code Quality가 활성화되면 CodeQL 분석이 GitHub Actions를 통해 실행되며, 풀 리퀘스트와 기본 브랜치에 결과가 표시됩니다. 개발자는 끌어오기 요청에 대한 품질 검사 및 주석을 봅니다.
조직 수준 리포지토리 액세스
조직 수준에서 단일 Code Quality 설정을 사용하여 제어 **** 합니다. 이 설정은 어떤 리포지토리에서 Code Quality를 활성화하고 어떤 리포지토리에서 비활성화할지를 결정합니다. 즉, 선택한 리포지토리 내의 리포지토리에서는 활성화되고, 선택한 리포지토리 밖의 리포지토리에서는 비활성화됩니다.
중요
리포지토리 액세스 설정을 변경하면 여러 리포지토리에서 한 번에 사용하거나 사용하지 않도록 설정할 Code Quality 수 있습니다. 예를 들어 필터와 일치하는 리포지토리를 사용하도록 설정 Code Quality 하면 필터와 일치하지 않는 리포지토리가 비활성화됩니다. 변경 내용을 적용하기 전에 대화 상자에는 총 사용 및 사용 안 함 리포지토리 수와 청구 영향이 표시됩니다.
리포지토리 액세스 옵션
한 번에 다음 옵션 중 하나를 적용할 수 있습니다.
| Option | 작동 방식 |
|---|---|
| 리포지토리 없음 | |
| Code Quality 조직의 모든 현재 및 향후 리포지토리에 대해 사용하지 않도록 설정합니다. | |
| 리포지토리가 결정하도록 허용 | 조직은 Code Quality를 사용 또는 사용 안 함으로 설정하지 않습니다. 리포지토리 관리자는 자체 리포지토리에 사용하도록 설정할지 여부를 선택합니다. 이 옵션은 적용할 수 없습니다. |
| 모든 리포지토리 | |
| Code Quality 모든 현재 및 미래의 리포지토리에 사용할 수 있습니다. | |
| 선택한 리포지토리 | |
| Code Quality 선택한 리포지토리의 특정 목록을 사용하도록 설정합니다. 선택하지 않은 리포지토리는 사용하지 않도록 설정되고 새 리포지토리는 자동으로 사용하도록 설정되지 않습니다. 파일럿 또는 예외 사례에 가장 적합합니다. | |
| 필터 일치 | |
| Code Quality 현재 및 나중에 정의한 필터와 일치하는 리포지토리를 사용하도록 설정합니다. 일치하지 않는 리포지토리는 사용할 수 없습니다. | |
| 리포지토리 필터링을 참조하세요. |
리포지토리 필터링
필터 일치를 선택하면 조건과 일치하는 기존 및 이후 리포지토리를 자동으로 사용하도록 설정하는 Code Quality 동적 필터를 만듭니다. 이는 대규모로 진행 중인 거버넌스에 유용합니다.
다음 조건의 조합을 필터링할 수 있습니다.
- 가시성: 리포지토리가 퍼블릭, 프라이빗 또는 내부인지 여부입니다. 모든 프라이빗 리포지토리에 대해 사용하도록 설정하는 Code Quality 등 광범위한 정책에 유용합니다.
- 포크 상태: 리포지토리가 포크인지 여부입니다. 포크가 분석 리소스를 소모하지 않아야 하는 경우에 유용합니다.
- 사용자 지정 속성: 리포지토리에 특정 사용자 지정 속성 값이 있는지 여부입니다. 예를 들어 속성을 사용하여 리포지토리를 대상으로 지정할 수 있습니다
team:platform.
필터의 모든 조건은 AND로 결합되므로, 리포지토리가 사용 설정되려면 모든 조건과 일치해야 합니다. 특정 조건과 일치하는 리포지토리를 제외할 수도 있습니다.
액세스 강제 적용
기본적으로 리포지토리 관리자는 자체 리포지토리에 대한 설정을 변경할 Code Quality 수 있습니다. 이를 방지하려면 액세스 적용을 사용하도록 설정합니다.
리포지토리 액세스 옵션에서 설정한 사용 상태와 비활성화 상태 모두에서 적용 잠금을 적용하므로 리포지토리 관리자는 이를 재정의할 수 없습니다. 이렇게 하면 조직 전체의 일관성이 향상되지만 개별 리포지토리 관리자의 유연성이 줄어듭니다.
- 적용은 리포지토리 액세스에 대해 선택하는 대부분의 옵션에 적용되며, 여기에는 Code Quality를 사용 안 함으로 강제하는 리포지토리 없음도 포함됩니다.
- 리포지토리에서 결정에서는 강제 적용을 사용할 수 없습니다. 이 옵션은 의도적으로 선택 권한을 리포지토리 관리자에게 맡깁니다.
출시 계획 수립
Code Quality을(를) 사용 설정하면 동시에 많은 리포지토리에 영향을 미칠 수 있고 각 분석에는 GitHub Actions분이 소요되므로, 조직 전체에 이를 롤아웃할 방법을 계획하세요:
- 파일럿 그룹으로 시작합니다. 확장하기 전에 결과의 유효성을 검사할 수 있도록 작은 대표적인 리포지토리 집합을 먼저 사용하도록 설정합니다(예: 개별적으로 선택하거나 사용자 지정 속성과 일치).
- 용량을 확인합니다 GitHub Actions . Code Quality를 광범위하게 활성화하기 전에 러너가 추가 부하를 감당할 수 있는지 확인하세요.
- 활성화를 적용할지 여부를 결정합니다. 적용은 일관된 범위를 제공하고 리포지토리 관리자가 옵트아웃하지 못하게 하지만 유연성을 제거합니다. 파일럿 중에 집행을 중단하면 팀이 학습할 때 옵트인 및 아웃할 수 있습니다.
- 결과를 신뢰할 수 있으면 확장합니다. 분석이 원활하게 실행되고 개발자가 결과를 이해했음을 확인한 후 선택 영역 또는 필터를 확장하여 더 많은 리포지토리를 다룹니다.
다음 단계
- 리포지토리 또는 조직에서: 결과 생성을 시작하려면 Code Quality을 켜세요. GitHub Code Quality 사용을(를) 참조하세요.
- 엔터프라이즈의 경우: 엔터프라이즈에 있는 리포지토리가 Code Quality를 활성화할 수 있는지 확인합니다. 엔터프라이즈에서 GitHub Code Quality를 사용하는 것을 허용하기을(를) 참조하세요.