{"meta":{"title":"GitHub Copilot 롤아웃에서 코드베이스 표준 유지 관리","intro":"규칙 집합, 보안 기능 및 효과적인 교육을 통해 엔터프라이즈 코드를 계속 제어할 수 있습니다.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ko/copilot","title":"GitHub Copilot"},{"href":"/ko/copilot/tutorials","title":"자습서"},{"href":"/ko/copilot/tutorials/roll-out-at-scale","title":"대규모 배포"},{"href":"/ko/copilot/tutorials/roll-out-at-scale/govern-at-scale","title":"대규모로 관리"},{"href":"/ko/copilot/tutorials/roll-out-at-scale/govern-at-scale/maintain-codebase-standards","title":"코드베이스 표준 유지 관리"}],"documentType":"article"},"body":"# GitHub Copilot 롤아웃에서 코드베이스 표준 유지 관리\n\n규칙 집합, 보안 기능 및 효과적인 교육을 통해 엔터프라이즈 코드를 계속 제어할 수 있습니다.\n\n대부분의 기업은 AI 코딩 도구가 가져올 수 있는 생산성 이점을 알고 있습니다. 그러나 악의적인 프롬프트 또는 검토 없이 AI 제안을 수락하는 개발자와 같은 회사의 부적절한 사용으로 인해 코드베이스의 표준이 손상될 수 있다고 우려하는 사람들이 많습니다.\n\n효과적인 거버넌스를 위해 환경 및 작업 문화를 설정 GitHub 하여 이러한 위험을 완화할 수 있습니다. 주요 이점 GitHub Copilot 은 이미 엔터프라이즈급 코드 거버넌스를 위한 다양한 기능을 포함하는 플랫폼에 GitHub 기본 제공된다는 것입니다.\n\n## 1. 끌어오기 요청 및 검토 필요\n\n개발자와 악의적인 행위자가 중요한 코드베이스에 직접 검증되지 않은 AI 제안 또는 에이전트 작업을 일방적으로 적용할 수 없어야 합니다. 사용자가 코드를 프로덕션 코드베이스 및 기타 중요한 분기에 병합하려면 **승인된 끌어오기 요청** 이 필요합니다.\n\n이렇게 하려면 규칙 집합을 만듭니다.\n\n1. 보호하려는 코드베이스가 포함된 조직 또는 리포지토리를 식별하고 **사용자 지정 속성을 적용** 합니다. 이렇게 하면 규칙 집합에서 해당 리소스를 쉽게 대상으로 지정할 수 있습니다.\n   [조직의 리포지토리에 대한 사용자 지정 속성 관리](/ko/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization) 또는 [조직에 대한 사용자 지정 속성 관리](/ko/enterprise-cloud@latest/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/managing-custom-properties-for-organizations)을(를) 참조하세요.\n\n   또는 이러한 보호된 리소스를 규칙 집합에 수동으로 추가하거나 명명 규칙에 따라 대상을 지정할 수 있습니다.\n\n2. 기업을 위한 브랜치 규칙 집합을 설정합니다.\n   [규칙 집합을 사용하여 엔터프라이즈에서 코드 거버넌스 시행](/ko/enterprise-cloud@latest/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-governance#creating-a-branch-or-tag-ruleset)을(를) 참조하세요.\n\n   * **병합하기 전에 끌어오기 요청 필요** 및 **강제 푸시 차단** 규칙을 최소한 활성화하세요. \"풀 리퀘스트 요구\" 규칙에서는 최소 한 명의 승인 승인을 요구하도록 설정합니다.\n   * 필요한 경우 다른 규칙을 사용하도록 설정합니다. 예를 들어 끌어오기 요청을 하이재킹하는 악의적인 행위자가 우려되는 경우, 새 커밋이 푸시되면 **만료된 끌어오기 요청 승인을 취소** 해야 합니다.\n\n3. 리포지토리 관리자가 리포지토리의 특정 파일에 대한 CODEOWNERS 파일을 설정하도록 권장합니다. 그러면 해당 파일이 수정될 때 코드 소유자의 검토가 자동으로 요청됩니다.\n\n   그런 다음 규칙 집합으로 돌아가 **코드 소유자로부터 검토 필요** 규칙을 활성화할 수 있습니다.\n\n4. 조직 소유자 및 리포지토리 관리자가 자신의 코드에 대한 요구 사항을 더 잘 인식할 수 있으므로 보다 구체적인 규칙 집합을 만들도록 권장합니다.\n\n   이러한 규칙 집합은 엔터프라이즈 수준에서 정의하는 기준에 추가되지만 재정의되지는 않습니다.\n\n## 2. 코드 테스트\n\n좋은 DevOps 관행은 코드가 병합 및 배포되기 전에 자동 테스트를 보장하여, 기본 브랜치에 오류가 침투하는 것과 프로덕션 환경에서 발생하는 위험을 최소화합니다.\n\n1. GitHub Actions 또는 다른 CI/CD 시스템을 사용할 수 있도록 설정합니다.\n2. 개발자가 모든 기능에 대한 테스트를 작성하고 테스트를 워크플로에 GitHub Actions 통합하도록 장려합니다.\n3. 조직 소유자 또는 리포지토리 소유자에게 규칙 집합을 만들고 **병합하기 전에 워크플로가 충족되어야 하는 규칙**에 중요한 워크플로를 추가하도록 권장합니다.\n\n## 3. 코드에서 취약성을 검사합니다.\n\nCopilot 는 코드베이스에 취약성이 발생하지 않도록 이미 설계되었습니다. 예를 들어 생성된 Copilot cloud agent 코드는 API 키와 같은 취약한 패턴 및 비밀을 자동으로 검색합니다.\n\n그러나 모든 코드에서 취약성 및 비밀을 정기적으로 검사하고 개발자가 처음에 취약성을 도입하지 못하도록 하는 것이 좋습니다.\n\n1. 조직에 기본 **보안 구성**을 적용하고 강제하는 것을 시작점으로 합니다. 보안 기능에 대한 사용 설정의 컬렉션입니다.\n   code scanning, secret scanning, 및 비밀 푸시 보호를 포함시킬 것을 추천합니다.\n   [사용자 정의 보안 구성 생성하기](/ko/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/create-custom-configuration#creating-a-secret-protection-and-code-security-configuration)을(를) 참조하세요.\n2. 요구 사항에 대해 자세히 알아보면 추가 사용자 지정 구성을 만들거나 리포지토리 수준에서 세분화된 설정을 적용합니다.\n3. 끌어오기 요청에 code scanning을(를) 적용하려면 규칙 집합으로 돌아가서 **code scanning 결과 필요** 규칙을 사용하도록 설정하세요.\n\n## 4. Copilot를 위한 지침 만들기\n\n처음에 제안의 Copilot품질을 개선하려면 사용자 지정 지침을 만들어야 합니다. 이러한 지침은 회사의 코딩 표준을 따르도록 지시 Copilot 하는 모든 프롬프트에 컨텍스트를 추가합니다.\n\n1. 적절한 기준을 설정하려면 **조직 수준에서 사용자 지정 지침을** 만듭니다. 이러한 표준은 모든 리포지토리에 적용될 가능성이 높은 수준 표준일 수 있습니다. 그러나 이러한 지침은 웹 사이트에 GitHub 만 적용됩니다.\n   [GitHub Copilot에 대한 조직 사용자 지정 지침 추가](/ko/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-organization-instructions)을(를) 참조하세요.\n2. 보다 완전한 적용 범위를 위해 개발자 및 리포지토리 관리자가 **특정 리포지토리에 대한 사용자 지정 지침을 작성**하도록 권장합니다. 이러한 내용은 조직의 지침보다 더 많은 위치에 적용되며 각 프로젝트 및 요구 사항에 대해 자세히 설명할 수 있습니다.\n   [GitHub Copilot 대한 리포지토리 사용자 지정 지침 추가](/ko/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions)을(를) 참조하세요.\n\n## 5. 모범 사례 권장\n\n강력한 가드레일을 갖춘 개발자는 이미 AI를 효과적으로 사용할 수 있어야 합니다. 그러나 AI 도구에 대한 교육을 제공하고 단순히 시행하는 것이 아니라 모범 사례를 권장하는 문화를 조성하는 것이 중요합니다.\n\n1. 개발자가 어떻게 사용해야 Copilot하는지에 대한 거버넌스 설정 및 회사의 기대치를 전달합니다. 예를 들어 모든 에이전트 작업을 철저히 검토해야 하는 경우 이 프로세스가 설정되고 전달되었는지 확인합니다.\n2. 개발자가 검토를 요청하거나 풀 리퀘스트를 생성하기 전에 `/security-review`에서 Copilot CLI를 실행하도록 권장합니다. 이를 간단한 검사로 처리한 다음 표준 끌어오기 요청 검토 프로세스를 계속 진행합니다. 자세한 내용은 [GitHub Copilot CLI에 대한 모범 사례](/ko/copilot/how-tos/copilot-cli/cli-best-practices#code-review-assistance)을(를) 참조하세요.\n3. 내부 설명서 또는 비디오와 같은 온보딩 리소스를 만듭니다. 시작점으로 [GitHub 부필로트 사용에 대한 모범 사례](/ko/copilot/get-started/best-practices) 및 [GitHub Copilot 활용 안내서](/ko/copilot/tutorials/copilot-cookbook)과 같은 기존 리소스를 공유합니다.\n4. 워크샵과 같은 지속적인 교육 및 지원을 제공합니다. 성공적인 출시에서 많은 회사는 효과적으로 사용하는 Copilot 방법에 대해 다른 사람을 교육할 수 있는 \"챔피언\"을 식별합니다.\n\n## 6. 최악의 계획\n\n가장 엄격한 가드레일이 있더라도 개발자가 AI 도구를 사용하는지 여부에 관계없이 취약하거나 오류가 발생하기 쉬운 코드가 병합될 수 있습니다.\n\n이러한 시나리오를 준비하려면 문제를 해결하고 개발자와 이 계획을 전달하는 방법을 계획해야 합니다. 다음은 그 예입니다.\n\n1. 잘못된 풀 리퀘스트를 되돌리고 배포를 롤백합니다.\n2. 무엇이 잘못되었는지와 나중에 이를 방지하는 방법을 분석하는 토론 게시물을 만듭니다.\n3. 규칙 집합 바이패스, 잘못된 권한 또는 거버넌스 설정 변경과 같은 항목에 대한 감사 로그를 확인합니다.\n\n## 7. 코드 품질 확인\n\n거버넌스 모델에 대한 확신이 있지만 시간이 지남에 따라 코드베이스의 품질이 저하되는 것을 Copilot 우려하는 경우 롤아웃 과정에서 이를 측정할 수 있습니다. 사용하도록 설정된 GitHub Code Quality 경우 리포지토리의 코드 상태에 대한 메트릭을 제공합니다.\n[GitHub 코드 품질](/ko/code-security/concepts/code-quality/code-quality)을(를) 참조하세요."}