Skip to main content

워크플로에서 자체 호스트형 실행기 사용

워크플로에서 자체 호스팅 러너를 사용하려면 레이블 또는 그룹을 사용하여 작업을 위한 실행기를 지정할 수 있습니다.

리포지토리에 사용 가능한 실행기 보기

리포지토리에 repo: write 액세스 권한이 있는 경우 리포지토리에서 사용할 수 있는 실행기 목록을 볼 수 있습니다.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 작업을 클릭합니다.

    "github/docs" 리포지토리의 탭 스크린샷. "작업" 탭은 주황색 윤곽선으로 강조 표시됩니다.

  3. 왼쪽 사이드바의 "관리" 섹션에서 실행기를 클릭합니다.

  4. 실행기 목록 맨 위에 있는 자체 호스트형 탭을 클릭합니다.

  5. 리포지토리에 사용할 수 있는 자체 호스트형 실행기 목록을 검토합니다. 이 목록에는 Actions Runner Controller을(를) 사용하여 만든 자체 호스트형 실행기와 실행기 확장 집합이 모두 포함됩니다. 자세한 내용은 Actions Runner Controller을(를) 참조하세요.

  6. 실행기 레이블을 복사사하여 워크플로에서 사용하려면, 실행기 오른쪽에 있는 을 클릭한 다음 레이블 복사를 클릭합니다.

참고 항목

엔터프라이즈와 조직 소유자는 이 페이지에서 새 실행기를 만들 수 있습니다. 새 실행기를 만들려면 실행기 목록의 오른쪽 상단에 있는 새 실행기를 클릭하여 리포지토리에 실행기를 추가합니다.

자세한 내용은 대형 실행기 관리하기자체 호스트형 실행기 추가를 참조하세요.

기본 레이블을 사용하여 작업 라우팅

자체 호스트형 실행기는 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