Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

작업에 대한 실행기 선택

워크플로에서 작업을 처리할 컴퓨터 유형을 정의합니다.

개요

jobs.<job_id>.runs-on을 사용하여 작업을 실행할 머신 형식을 정의합니다.

  • 대상 컴퓨터는 GitHub호스팅 실행기, 더 큰 실행기 또는 자체 호스팅 실행기일 수 있습니다. - 할당된 레이블 또는 해당 그룹 멤버 자격 또는 이들 조합을 기반으로 실행기를 대상으로 지정할 수 있습니다.
  • 단일 문자열 또는 문자열 배열로 제공할 runs-on 수 있습니다.
  • 문자열 배열을 지정하면 지정된 runs-on 모든 값과 일치하는 실행기에서 워크플로가 실행됩니다.
  • 여러 머신에서 워크플로를 실행하려면 jobs.<job_id>.strategy를 사용합니다.

GitHub 호스팅 실행기 선택

GitHub에서 호스트되는 실행기를 사용하는 경우 각 작업은 runs-on으로 지정된 실행기 이미지의 새 인스턴스에서 실행됩니다.

사용 가능한 GitHub 호스팅 실행기 유형은 다음과 같습니다.

실행기 이미지 YAML 워크플로 레이블 참고 사항
Windows Server 2022 windows-latest 또는 windows-2022 windows-latest 레이블은 현재 Windows Server 2022 실행기 이미지를 사용합니다.
Windows Server 2019 windows-2019 없음
Ubuntu 22.04 ubuntu-latest 또는 ubuntu-22.04 레이블은 ubuntu-latest 현재 Ubuntu 22.04 실행기 이미지를 사용합니다.
Ubuntu 20.04 ubuntu-20.04 없음
Ubuntu 18.04 [사용되지 않음] ubuntu-18.04 ubuntu-20.04 또는 ubuntu-22.04로 마이그레이션합니다. 자세한 내용은 이 GitHub 블로그 게시물을 참조하세요.
macOS Monterey 12 macos-latest, macos-12, macos-latest-xl 또는 macos-12-xl macos-latest-xl 워크플로 레이블은 macos-latest 현재 macOS 12 실행기 이미지를 사용합니다.
macOS Big Sur 11 macos-11 없음
macOS Catalina 10.15[사용되지 않음] macos-10.15 macOS-11 또는 macOS-12로 마이그레이션합니다. 자세한 내용은 이 GitHub 블로그 게시물을 참조하세요.

참고: -latest 실행기 이미지는 GitHub에서 제공하는 안정적인 최신 이미지이며 운영 체제 공급업체에서 사용할 수 있는 운영 체제의 최신 버전이 아닐 수도 있습니다.

경고: 베타 및 사용되지 않는 이미지는 "있는 그대로", "모든 오류 포함" 및 "사용 가능한" 것으로 제공되며 서비스 수준 계약 및 보증에서 제외됩니다. 베타 이미지는 고객 지원에서 다루지 않을 수 있습니다.

예제: 운영 체제 지정

runs-on: ubuntu-latest

자세한 내용은 "GitHub 호스팅 실행기 정보"을 참조하세요.

자체 호스팅 실행기 선택

작업에 대한 자체 호스팅 실행기를 지정하려면 자체 호스팅 실행기 레이블을 사용하여 워크플로 파일에서 runs-on을 구성합니다.

모든 자체 호스팅 실행기에는 self-hosted 레이블이 있습니다. 이 레이블만 사용하면 자체 호스팅 실행기가 선택됩니다. 운영 체제 또는 아키텍처와 같은 특정 조건을 충족하는 실행기를 선택하려면 self-hosted(먼저 나열되어야 함)로 시작하고 필요에 따라 추가 레이블을 포함하는 레이블 배열을 제공하는 것이 좋습니다. 레이블 배열을 지정하면 지정한 모든 레이블이 있는 실행기에서 작업이 큐에 대기됩니다.

self-hosted 레이블이 필요하지는 않지만 자체 호스팅 실행기를 사용할 때 이 레이블을 지정하여 작업이 의도치 않게 현재 또는 미래의 GitHub 호스팅 실행기를 지정하지 않도록 하는 것이 좋습니다.

예제: 실행기 선택에 레이블 사용

runs-on: [self-hosted, linux]

자세한 내용은 "자체 호스팅 실행기 정보" 및 "AUTOTITLE"을 참조하세요.

그룹에서 실행기 선택

를 사용하여 runs-on 실행기 그룹을 대상으로 지정할 수 있으므로 해당 그룹의 구성원인 모든 실행기에서 작업이 실행됩니다. 보다 세분화된 컨트롤을 위해 실행기 그룹을 레이블과 결합할 수도 있습니다.

실행기 그룹에 는 더 큰 실행기s 또는 자체 호스팅 실행기 만 구성원으로 사용할 수 있습니다.

예: 그룹을 사용하여 작업 실행 위치 제어

이 예제에서는 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@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

예: 그룹 및 레이블 결합

그룹과 레이블을 결합할 때 실행기는 작업을 실행할 수 있도록 두 요구 사항을 모두 충족해야 합니다.

이 예제에서 라는 ubuntu-runners 실행기 그룹은 레이블 ubuntu-20.04-16core도 할당된 Ubuntu 실행기로 채워집니다. 키는 runs-onlabelsgroup 결합하여 일치하는 레이블이 있는 그룹 내에서 사용 가능한 실행기로 작업이 라우팅되도록 합니다.

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      group: ubuntu-runners
      labels: ubuntu-20.04-16core
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v