GitHub가 러너를 고르는 방법
작업이 runs-on: [self-hosted, gpu, linux]라고 선언하면, GitHub는 세 가지 라벨을 모두 가진 러너를 찾아. 조건을 만족하는 러너가 여러 대면 가장 먼저 쉬고 있는 러너가 선택돼. 아예 없으면 러너가 사용 가능해질 때까지 큐에서 대기해.
일상적으로 필요한 라벨
- 신뢰 계층 —
trusted(자체 조직 코드만) vsuntrusted(퍼블릭 PR). - 리소스 형태 —
gpu,gpu-h100,large-mem,fast-disk. - 위치 —
region-us,region-kr,internal-network. - 능력 버전 관리 —
cuda12,node22. 러너 이미지를 업그레이드할 때 라벨을 바꿔두면, 전환 중인 옛 워크플로가 옛 러너를 계속 타겟하도록 유지할 수 있어.
그룹 라우팅
라벨 외에도 러너는 조직 수준의 러너 그룹으로 묶을 수 있어. 그룹을 쓰면 어느 워크플로나 저장소가 해당 러너를 쓸 수 있는지 제한할 수 있지. 하나의 러너 풀이 신뢰 수준이 다른 여러 저장소를 서빙할 때 이 그룹 기능을 활용해.