Skip to main content

더 큰 실행기에서 작업 실행

더 큰 실행기s에서 실행되도록 구성하여 워크플로의 속도를 높일 수 있습니다.

누가 이 기능을 사용할 수 있나요?

대형 러너은(는) GitHub Team 플랜 또는 GitHub Enterprise Cloud 플랜을 사용하는 조직 및 기업만 사용할 수 있습니다.

Platform navigation

실행기에서 작업 실행

실행기 유형이 정의되면 워크플로 파일을 업데이트하여 작업을 처리를 위해 새로 생성된 실행기 인스턴스로 보낼 수 있습니다. 실행기 그룹 또는 레이블을 사용하여 작업이 실행되는 위치를 정의할 수 있습니다.

Note

대형 러너에 실행기 이름 기본 레이블이 자동으로 할당됩니다. 더 큰 실행기에 사용자 지정 레이블을 추가할 수는 없지만 기본 레이블 또는 실행기 그룹을 사용하여 특정 유형의 실행기로 작업을 보낼 수 있습니다.

소유자 또는 관리자 계정만 실행기 설정을 볼 수 있습니다. 관리자가 아닌 사용자는 조직 소유자에게 문의하여 사용하도록 설정된 실행기를 확인할 수 있습니다. 조직 소유자는 새 실행기 및 실행기 그룹을 만들고 실행기 그룹에 액세스할 수 있는 리포지토리를 지정하는 권한을 구성할 수 있습니다. 자세한 내용은 대형 실행기 관리하기을(를) 참조하세요.

실행기 유형이 정의되면 워크플로 파일을 업데이트하여 작업을 처리를 위해 새로 생성된 실행기 인스턴스로 보낼 수 있습니다. 실행기 그룹 또는 레이블을 사용하여 작업이 실행되는 위치를 정의할 수 있습니다.

Note

대형 러너에 실행기 이름 기본 레이블이 자동으로 할당됩니다. 더 큰 실행기에 사용자 지정 레이블을 추가할 수는 없지만 기본 레이블 또는 실행기 그룹을 사용하여 특정 유형의 실행기로 작업을 보낼 수 있습니다.

소유자 또는 관리자 계정만 실행기 설정을 볼 수 있습니다. 관리자가 아닌 사용자는 조직 소유자에게 문의하여 사용하도록 설정된 실행기를 확인할 수 있습니다. 조직 소유자는 새 실행기 및 실행기 그룹을 만들고 실행기 그룹에 액세스할 수 있는 리포지토리를 지정하는 권한을 구성할 수 있습니다. 자세한 내용은 대형 실행기 관리하기을(를) 참조하세요.

실행기 유형이 정의되면 워크플로를 업데이트하여 작업을 처리를 위해 실행기 인스턴스로 보낼 수 있습니다. macOS 더 큰 실행기s에서 작업을 실행하려면 워크플로 YAML 파일의 키를 업데이트 runs-on 하여 macOS 실행기용 GitHub정의 레이블 중 하나를 사용합니다. 자세한 내용은 사용 가능한 macOS 더 큰 실행기를 참조하세요.

사용 가능한 macOS 더 큰 실행기s

아래 표의 레이블을 사용하여 해당 macOS 더 큰 실행기에서 워크플로를 실행합니다.

실행기 크기아키텍처프로세서(CPU)메모리(RAM)스토리지(SSD)워크플로 레이블
대형Intel1230GB14 GBmacos-latest-large, macos-13-large , macos-14-large[최신], macos-15-large[공개 미리 보기]
XLargearm64(M1)6(+ 8 GPU 하드웨어 가속)14 GB14 GBmacos-latest-xlarge, macos-13-xlarge , macos-14-xlarge[최신], macos-15-xlarge[공개 미리 보기]

Note

macOS 더 큰 실행기의 경우 -latest 실행기 레이블은 macOS 12 실행기 이미지를 사용합니다. macOS Xlarge의 경우 실행기 레이블은 -latest macOS 13 실행기 이미지를 사용합니다.

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

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

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

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

    "github/docs" 리포지토리에 대한 탭 스크린샷. "작업" 탭은 주황색 윤곽선으로 강조 표시되어 있습니다.

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

  4. 리포지토리에 사용할 수 있는 실행기 목록을 검토합니다.

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

Note

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

자세한 내용은 대형 실행기 관리하기자체 호스트형 실행기 추가를 참조하세요. 사용자 지정 조직 역할에 대한 자세한 내용은 사용자 지정 조직 역할 소개를 참조하세요.

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

이 예제에서는 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 실행기라는 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

레이블을 사용하여 작업 실행 위치 제어

runs-on: LABEL 구문을 사용하여 runs-on 키에 레이블을 암시적으로 전달할 수 있습니다. 또는 아래 예시와 같이 labels 키를 사용할 수 있습니다.

이 예제에서 runs-on 키는 ubuntu-20.04-16core 레이블이 할당된 사용 가능한 모든 실행기로 작업을 보냅니다.

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      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

작업 지원 리포지토리에 대한 쓰기 권한이 있는 사용자는 해당 리포지토리에서 사용할 수 있는 실행기의 레이블을 찾을 수 있습니다. 더 큰 실행기에서 작업 실행을(를) 참조하세요.

레이블을 사용하여 작업 실행 위치 제어

runs-on: LABEL 구문을 사용하여 runs-on 키에 레이블을 암시적으로 전달할 수 있습니다. 또는 아래 예시와 같이 labels 키를 사용할 수 있습니다.

이 예제에서 runs-on 키는 windows-2022-16core 레이블이 할당된 사용 가능한 모든 실행기로 작업을 보냅니다.

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

작업 지원 리포지토리에 대한 쓰기 권한이 있는 사용자는 해당 리포지토리에서 사용할 수 있는 실행기의 레이블을 찾을 수 있습니다. 더 큰 실행기에서 작업 실행을(를) 참조하세요.

워크플로에서 macOS 더 큰 실행기s 대상 지정

macOS 더 큰 실행기에서 워크플로를 실행하려면 키 값을 runs-on macOS 더 큰 실행기와 연결된 레이블로 설정합니다. macOS 더 큰 실행기 레이블 목록은 사용 가능한 macOS 더 큰 실행기s를 참조하세요.

이 예제에서 워크플로는 macOS XL 실행기와 연결된 레이블을 사용합니다. 키는 runs-on 일치하는 레이블을 사용하여 사용 가능한 모든 실행기로 작업을 보냅니다.

name: learn-github-actions-testing
on: [push]
jobs:
  build:
    runs-on: macos-13-xlarge
    steps:
      - uses: actions/checkout@v4
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

레이블 및 그룹을 사용하여 작업 실행 위치 제어

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

이 예제에서 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

실행기 그룹에 고유한 이름 사용

GitHub Actions에서 실행기 그룹 이름은 조직 수준에서 고유해야 합니다. 즉, 조직에서는 더 이상 엔터프라이즈의 실행기 그룹과 동일한 이름을 가진 실행기 그룹을 만들 수 없습니다. 또한 엔터프라이즈의 그룹과 동일한 이름을 공유하는 실행기 그룹에 경고 배너가 표시되며 조직 그룹의 이름을 바꿔야 합니다.

모호성을 방지하기 위해 조직 및 엔터프라이즈에 중복된 실행기 그룹이 있는 경우 워크플로가 실패합니다. 문제를 해결하려면 조직 또는 엔터프라이즈에서 실행기 그룹 중 하나의 이름을 바꾸거나 워크플로 파일을 업데이트하여 실행기 그룹 이름에 접두사를 추가할 수 있습니다.

  • org/ 또는 organization/
  • ent/ 또는 enterprise/

예: 접두사를 사용하여 실행기 그룹 구분

예를 들어 조직에서 명명된 실행기 그룹 my-group과 엔터프라이즈에 이름이 다른 실행기 그룹 my-group가 있는 경우 워크플로 파일을 업데이트하여 org/my-group 또는 ent/my-group를 사용하여 두 그룹을 구분할 수 있습니다.

org/사용:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

ent/사용:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]

레이블 및 그룹을 사용하여 작업 실행 위치 제어

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

이 예제에서 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

실행기 그룹에 고유한 이름 사용

GitHub Actions에서 실행기 그룹 이름은 조직 수준에서 고유해야 합니다. 즉, 조직에서는 더 이상 엔터프라이즈의 실행기 그룹과 동일한 이름을 가진 실행기 그룹을 만들 수 없습니다. 또한 엔터프라이즈의 그룹과 동일한 이름을 공유하는 실행기 그룹에 경고 배너가 표시되며 조직 그룹의 이름을 바꿔야 합니다.

모호성을 방지하기 위해 조직 및 엔터프라이즈에 중복된 실행기 그룹이 있는 경우 워크플로가 실패합니다. 문제를 해결하려면 조직 또는 엔터프라이즈에서 실행기 그룹 중 하나의 이름을 바꾸거나 워크플로 파일을 업데이트하여 실행기 그룹 이름에 접두사를 추가할 수 있습니다.

  • org/ 또는 organization/
  • ent/ 또는 enterprise/

예: 접두사를 사용하여 실행기 그룹 구분

예를 들어 조직에서 명명된 실행기 그룹 my-group과 엔터프라이즈에 이름이 다른 실행기 그룹 my-group가 있는 경우 워크플로 파일을 업데이트하여 org/my-group 또는 ent/my-group를 사용하여 두 그룹을 구분할 수 있습니다.

org/사용:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

ent/사용:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]

더 큰 실행기s 문제 해결

더 큰 실행기을(를) 대상으로 하는 작업이 지연되었거나 실행되지 않는 경우, 이러한 원인이 될 수 있는 몇 가지 요인이 있습니다.

  • 동시성 설정: 최대 동시성 제한에 도달했을 수 있습니다. 더 많은 작업을 병렬로 실행할 수 있도록 하려면 자동 크기 조정 설정을 더 큰 수로 변경할 수 있습니다. 자세한 내용은 대형 실행기 관리하기을(를) 참조하세요.
  • 리포지토리 권한: 더 큰 실행기에 대해 적절한 리포지토리 권한을 사용하도록 설정했는지 확인합니다. 기본적으로 Enterprise 실행기는 리포지토리 수준에서 사용할 수 없으며 조직 관리자가 수동으로 사용하도록 설정해야 합니다. 자세한 내용은 대형 실행기 관리하기을(를) 참조하세요.
  • 청구 정보: 더 큰 실행기을(를) 사용하려면 파일에 유효한 신용 카드가 있어야 합니다. 계정에 신용 카드를 추가한 후, 더 큰 실행기을(를) 사용하도록 설정하는 데 최대 10분이 걸릴 수 있습니다. 자세한 내용은 결제 방법 추가 또는 편집을(를) 참조하세요.
  • 지출 한도: GitHub Actions 지출 한도를 0보다 큰 값으로 설정해야 합니다. 자세한 내용은 GitHub Actions의 지출 한도 관리을(를) 참조하세요.
  • 공정 사용 정책: GitHub에는 실행 중인 작업 수 또는 GitHub Actions의 전체에서 실행 중인 작업 수와 같은 여러 요인에 따라 작업을 제한하는 공정 사용 정책이 있습니다.
  • 시간 할당 작업 큐: 시간 할당 작업 큐는 작업 요청과 그 작업을 실행하기 위해 GitHub가 VM을 할당할 때 사이의 시간을 나타냅니다. 규정된 YAML 워크플로 레이블(예: ubuntu-latest)을 활용하는 표준 GitHub 호스트형 실행기는 항상 "warm" 상태입니다. 실행기가 크면 "warm" 상태인 컴퓨터의 풀이 더 작으므로 첫 번째 요청 시 작업을 선택할 준비가 되지 않을 수 있습니다. 그 결과로 GitHub가 새 VM을 만들어야 할 수 있으며, 시간을 할당하는 큐가 늘어나게 됩니다. 일단 실행기가 사용되면 VM은 후속 워크플로를 실행할 수 있도록 즉시 준비되므로 다음 24시간 동안은 향후 워크플로 실행을 위해 시간을 할당하는 큐가 줄어듭니다.

더 큰 실행기을(를) 대상으로 하는 작업이 지연되었거나 실행되지 않는 경우, 이러한 원인이 될 수 있는 몇 가지 요인이 있습니다.

  • 동시성 설정: 최대 동시성 제한에 도달했을 수 있습니다. 더 많은 작업을 병렬로 실행할 수 있도록 하려면 자동 크기 조정 설정을 더 큰 수로 변경할 수 있습니다. 자세한 내용은 대형 실행기 관리하기을(를) 참조하세요.
  • 리포지토리 권한: 더 큰 실행기에 대해 적절한 리포지토리 권한을 사용하도록 설정했는지 확인합니다. 기본적으로 Enterprise 실행기는 리포지토리 수준에서 사용할 수 없으며 조직 관리자가 수동으로 사용하도록 설정해야 합니다. 자세한 내용은 대형 실행기 관리하기을(를) 참조하세요.
  • 청구 정보: 더 큰 실행기을(를) 사용하려면 파일에 유효한 신용 카드가 있어야 합니다. 계정에 신용 카드를 추가한 후, 더 큰 실행기을(를) 사용하도록 설정하는 데 최대 10분이 걸릴 수 있습니다. 자세한 내용은 결제 방법 추가 또는 편집을(를) 참조하세요.
  • 지출 한도: GitHub Actions 지출 한도를 0보다 큰 값으로 설정해야 합니다. 자세한 내용은 GitHub Actions의 지출 한도 관리을(를) 참조하세요.
  • 공정 사용 정책: GitHub에는 실행 중인 작업 수 또는 GitHub Actions의 전체에서 실행 중인 작업 수와 같은 여러 요인에 따라 작업을 제한하는 공정 사용 정책이 있습니다.
  • 시간 할당 작업 큐: 시간 할당 작업 큐는 작업 요청과 그 작업을 실행하기 위해 GitHub가 VM을 할당할 때 사이의 시간을 나타냅니다. 규정된 YAML 워크플로 레이블(예: ubuntu-latest)을 활용하는 표준 GitHub 호스트형 실행기는 항상 "warm" 상태입니다. 실행기가 크면 "warm" 상태인 컴퓨터의 풀이 더 작으므로 첫 번째 요청 시 작업을 선택할 준비가 되지 않을 수 있습니다. 그 결과로 GitHub가 새 VM을 만들어야 할 수 있으며, 시간을 할당하는 큐가 늘어나게 됩니다. 일단 실행기가 사용되면 VM은 후속 워크플로를 실행할 수 있도록 즉시 준비되므로 다음 24시간 동안은 향후 워크플로 실행을 위해 시간을 할당하는 큐가 줄어듭니다.

macOS arm64는 노드 12를 지원하지 않으므로 macOS 더 큰 실행기s는 노드 16을 자동으로 사용하여 노드 12에 대해 작성된 JavaScript 작업을 실행합니다. 일부 커뮤니티 작업은 노드 16과 호환되지 않을 수 있습니다. 다른 노드 버전이 필요한 작업을 사용하는 경우 런타임에 특정 버전을 수동으로 설치해야 할 수 있습니다.

Note

ARM 기반 실행기는 현재 공개 미리 보기 버전이며 변경될 수 있습니다.