기본 레이블을 사용하여 작업 라우팅
자체 호스트형 실행기는 GitHub Actions에 추가된 특정 레이블을 자동으로 받습니다. 이 레이블은 운영 체제와 하드웨어 플랫폼을 나타내는 데 사용됩니다.
self-hosted
: 자체 호스트형 실행기에 적용되는 기본 레이블입니다.linux
,windows
또는macOS
: 운영 체제에 따라 적용됩니다.x64
,ARM
또는ARM64
: 하드웨어 아키텍처에 따라 적용됩니다.
워크플로의 YAML을 사용하여 이 레이블의 조합에 작업을 보낼 수 있습니다. 이 예시에서는 다음 3개 레이블과 모두 일치하는 자체 호스트형 실행기에서 작업을 실행할 수 있습니다.
runs-on: [self-hosted, linux, ARM64]
self-hosted
- 자체 호스트형 실행기에서 이 작업을 실행합니다.linux
- Linux 기반 실행기만 사용합니다.ARM64
- ARM64 하드웨어 기반의 실행기만 사용합니다.
기본 레이블 없이 개별 자체 호스트형 실행기를 만들려면 실행기를 만들 때 --no-default-labels
플래그를 전달합니다. 작업 실행기 컨트롤러는 여러 레이블을 지원하지 않습니다.
사용자 지정 레이블을 사용하여 작업 라우팅
언제든지 사용자 지정 레이블을 만들어 자체 호스트형 실행기에 할당할 수 있습니다. 사용자 지정 레이블을 사용하면 레이블 지정 방법에 따라 특정 유형의 자체 호스트형 실행기에 작업을 보낼 수 있습니다.
예를 들어 특정 유형의 그래픽 하드웨어가 필요한 작업이 있는 경우 gpu
라는 사용자 지정 레이블을 생성하여 하드웨어가 설치된 실행기에 할당할 수 있습니다. 그런 다음, 할당된 모든 레이블과 일치하는 자체 호스트형 실행기에서 작업을 실행할 수 있습니다.
다음 예시에서는 기본 레이블과 사용자 지정 레이블을 결합하는 작업을 보여줍니다.
runs-on: [self-hosted, linux, x64, gpu]
self-hosted
- 자체 호스트형 실행기에서 이 작업을 실행합니다.linux
- Linux 기반 실행기만 사용합니다.x64
- x64 하드웨어 기반의 실행기만 사용합니다.gpu
- 이 사용자 지정 레이블은 GPU 하드웨어가 설치된 자체 호스트형 실행기에 수동으로 할당되었습니다.
이러한 레이블은 누적해서 작동하므로 4개의 레이블이 모두 있어야 자체 호스트형 실행기에서 작업을 처리할 수 있습니다.
그룹을 사용하여 작업 라우팅
이 예제에서는 Ubuntu 실행기라는 ubuntu-runners
그룹에 추가되었습니다. runs-on
키는 ubuntu-runners
그룹에서 사용 가능한 모든 실행기로 작업을 보냅니다.
name: learn-github-actions
on: [push]
jobs:
check-bats-version:
runs-on:
group: ubuntu-runners
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v
레이블 및 그룹을 사용하여 작업 라우팅
그룹과 레이블을 결합할 때, 실행기는 작업을 실행할 수 있도록 두 요구 사항을 모두 충족해야 합니다.
이 예제에서 ubuntu-runners
실행기 그룹은 ubuntu-20.04-16core
레이블이 할당된 Ubuntu 실행기로 채워집니다. runs-on
키가 group
, labels
와 결합되어 작업이 일치하는 레이블이 있는 그룹 내에서 사용 가능한 모든 실행기로 라우팅됩니다.
name: learn-github-actions
on: [push]
jobs:
check-bats-version:
runs-on:
group: ubuntu-runners
labels: ubuntu-20.04-16core
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v