참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.
실행기의 조합을 기반으로 워크플로에서 사용할 자체 호스팅 실행기를 대상으로 지정할 수 있습니다.
자체 호스팅 실행기 레이블 정보
레이블을 사용하면 공유 특성에 따라 특정 유형의 자체 호스팅 실행기에 워크플로 작업을 보낼 수 있습니다. 예를 들어 작업에 특정 하드웨어 구성 요소 또는 소프트웨어 패키지가 필요한 경우 실행기에 사용자 지정 레이블을 할당한 다음, 해당 레이블이 있는 실행기에서만 실행되도록 작업을 구성할 수 있습니다.
작업에 대한 자체 호스팅 실행기를 지정하려면 자체 호스팅 실행기 레이블을 사용하여 워크플로 파일에서 runs-on
을 구성합니다.
모든 자체 호스팅 실행기에는 self-hosted
레이블이 있습니다. 이 레이블만 사용하면 자체 호스팅 실행기가 선택됩니다. 운영 체제 또는 아키텍처와 같은 특정 조건을 충족하는 실행기를 선택하려면 self-hosted
(먼저 나열되어야 함)로 시작하고 필요에 따라 추가 레이블을 포함하는 레이블 배열을 제공하는 것이 좋습니다. 레이블 배열을 지정하면 지정한 모든 레이블이 있는 실행기에서 작업이 큐에 대기됩니다.
self-hosted
레이블이 필요하지는 않지만 자체 호스팅 실행기를 사용할 때 이 레이블을 지정하여 작업이 의도치 않게 현재 또는 미래의 GitHub 호스팅 실행기를 지정하지 않도록 하는 것이 좋습니다.
사용자 지정 및 기본 레이블을 만드는 방법에 대한 자세한 내용은 "자체 호스팅 실행기로 레이블 사용.
기본 레이블을 사용하여 작업 라우팅
자체 호스팅 실행기는 GitHub Actions에 추가된 특정 레이블을 자동으로 받습니다. 이 레이블은 운영 체제와 하드웨어 플랫폼을 나타내는 데 사용됩니다.
self-hosted
: 모든 자체 호스팅 실행기에 적용되는 기본 레이블입니다.linux
,windows
또는macOS
: 운영 체제에 따라 적용됩니다.x64
,ARM
또는ARM64
: 하드웨어 아키텍처에 따라 적용됩니다.
워크플로의 YAML을 사용하여 이 레이블의 조합에 작업을 보낼 수 있습니다. 이 예제에서는 다음 3개 레이블과 모두 일치하는 자체 호스팅 실행기에서 작업을 실행할 수 있습니다.
runs-on: [self-hosted, linux, ARM64]
self-hosted
- 자체 호스팅 실행기에서 이 작업을 실행합니다.linux
- Linux 기반 실행기만 사용합니다.ARM64
- ARM64 하드웨어 기반의 실행기만 사용합니다.
기본 레이블은 고정되어 있으며 변경하거나 제거할 수 없습니다. 작업 라우팅을 더 자세히 제어해야 하는 경우 사용자 지정 레이블을 사용하는 것이 좋습니다.
사용자 지정 레이블을 사용하여 작업 라우팅
언제든지 사용자 지정 레이블을 만들어 자체 호스팅 실행기에 할당할 수 있습니다. 사용자 지정 레이블을 사용하면 레이블 지정 방법에 따라 특정 유형의 자체 호스팅 실행기에 작업을 보낼 수 있습니다.
예를 들어 특정 유형의 그래픽 하드웨어가 필요한 작업이 있는 경우 gpu
라는 사용자 지정 레이블을 생성하여 하드웨어가 설치된 실행기에 할당할 수 있습니다. 그런 다음, 할당된 모든 레이블과 일치하는 자체 호스팅 실행기에서 작업을 실행할 수 있습니다.
다음 예제에서는 기본 레이블과 사용자 지정 레이블을 결합하는 작업을 보여 줍니다.
runs-on: [self-hosted, linux, x64, gpu]
self-hosted
- 자체 호스팅 실행기에서 이 작업을 실행합니다.linux
- Linux 기반 실행기만 사용합니다.x64
- x64 하드웨어 기반의 실행기만 사용합니다.gpu
- 이 사용자 지정 레이블은 GPU 하드웨어가 설치된 자체 호스팅 실행기에 수동으로 할당되었습니다.
이러한 레이블은 누적해서 작동하므로 4개의 레이블이 모두 있어야 자체 호스팅 실행기에서 작업을 처리할 수 있습니다.
자체 호스팅 실행기의 라우팅 우선 순위
작업을 자체 호스팅 실행기로 라우팅할 때 GitHub는 작업의 runs-on
레이블과 일치하는 실행기를 찾습니다.
- GitHub에서 작업의
runs-on
레이블과 일치하는 온라인 및 유휴 실행기를 찾으면 작업이 할당되어 실행기로 전송됩니다.- 해당 실행기가 할당된 작업을 60초 이내에 선택하지 않으면 새 실행기가 수락할 수 있도록 작업이 다시 큐에 대기됩니다.
- GitHub이(가) 작업의
runs-on
레이블 과 일치하는 온라인 및 유휴 실행기를 찾지 못하면 실행기가 온라인 상태가 될 때까지 작업이 큐에 대기 상태로 유지됩니다. - 24시간 넘게 큐에서 대기한 작업은 실패합니다.