GitHub Copilot 러너, 이제 조직 전체에서 관리하세요!
GitHub Copilot Cloud Agent가 작업을 위해 사용하는 러너(Runner) 환경을 조직 수준에서 설정할 수 있도록 변경됨
조직 관리자는 모든 레포지토리에 기본 러너(Default Runner)를 설정하고, 개별 레포지토리 설정을 잠금(Lock) 가능
이를 통해 팀별로 일관된 환경을 제공하고, 자체 호스팅 러너(Self-hosted Runner) 사용을 강제할 수 있음
조직 수준 러너 설정의 필요성
본문에 따르면 기존에는 각 레포지토리별로 러너(Runner)를 설정해야 했기에, 조직 전체에 일관된 환경을 적용하기 어려웠다.
일관성 부족: 각 팀이 서로 다른 러너 설정을 사용하면 빌드(Build) 및 테스트(Test) 결과의 재현성(Reproducibility) 저하
보안 및 규정 준수: 자체 호스팅 러너(Self-hosted Runner) 사용 강제가 어려워 내부 자원 접근 통제(Access Control) 취약점 발생 가능성
관리 부담: 새로운 팀 합류 시마다 러너 설정을 안내해야 하는 운영 리소스(Operational Resource) 낭비
조직 수준 설정을 통해 이러한 문제점을 해결하고, 표준화된 개발 환경(Standardized Development Environment)을 구축할 수 있다.
조직 관리자가 사용할 수 있는 기능
글에서는 조직 관리자가 기본 러너 설정(Default Runner Setting)과 설정 잠금(Setting Lock) 기능을 사용할 수 있다고 설명한다.
기본 러너 설정: 모든 레포지토리에 특정 러너(Specific Runner)를 기본값으로 지정하여, 팀별 설정 없이도 일관된 환경 제공
설정 잠금: 개별 레포지토리에서 조직 수준 설정을 변경하지 못하도록 제한하여, 보안 및 규정 준수 요구사항 충족
자체 호스팅 러너(Self-hosted Runner) 강제: 내부 자원 접근(Internal Resource Access) 및 성능 향상을 위해 자체 호스팅 러너 사용을 강제
이러한 기능을 통해 조직은 개발 환경의 효율성(Efficiency)과 보안(Security)을 동시에 강화할 수 있다.
GitHub Actions 러너(Runner)의 종류
본문에서는 GitHub Actions 러너(Runner)로 GitHub-hosted runner와 self-hosted runner를 언급하고 있다.
GitHub-hosted runner: GitHub에서 제공하는 러너로, 사용 편의성이 높지만 제한적인 자원(Limited Resource) 및 네트워크 접근(Network Access)
self-hosted runner: 사용자가 직접 관리하는 러너로, 더 많은 자원(More Resource) 및 내부 네트워크 접근(Internal Network Access) 가능
large runners: GitHub-hosted runner의 확장 버전으로, 더 높은 CPU 및 메모리(Memory)를 제공하여 빌드 속도 향상
조직의 요구사항에 따라 적절한 러너를 선택하고, 비용(Cost)과 성능(Performance) 간의 균형을 고려해야 한다.