Skip to main content

대형 실행기에서 작업 실행하기

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

이 기능을 사용할 수 있는 사람

더 큰 주자은(는) GitHub Team 플랜 또는 GitHub Enterprise Cloud 플랜을 사용하는 조직 및 기업만 사용할 수 있습니다.

Platform navigation

실행기에서 작업 실행

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

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

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

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

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

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

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

사용 가능한 macOS 더 큰 실행기

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

실행기 크기아키텍처프로세서(CPU)메모리(RAM)스토리지 SSDOS(YAML 워크플로 레이블)
LargeIntel1230GB14 GBmacos-latest-large, macos-12-large , macos-13-large[Beta]
XLargearm64(M1)6 CPU 및 8 GPU14 GB14 GBmacos-latest-xlarge[Beta], macos-13-xlarge[Beta]

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

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

참고: 이 기능은 현재 베타로 제공되며 변경될 수 있습니다.

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

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

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

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

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

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

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

참고: 실행기를 만들 수 있는 권한이 있는 엔터프라이즈 및 조직 소유자는 해당 페이지에 새 실행기를 만들 수 있는 옵션이 있습니다. 엔터프라이즈 또는 조직 소유자인 경우, 실행기 목록의 우측 제일 위쪽에서 새 실행기를 클릭하여 리포지토리에 실행기를 추가하세요. 자세한 내용은 "대형 실행기 관리하기" 및 "자체 호스트형 실행기 추가"을 참조하세요.

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

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

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

이 예제에서 실행기 그룹은 레이블 ubuntu-20.04-16core이 할당된 Ubuntu 16코어 실행기로 채워집니다. runs-on 키는 일치하는 레이블을 사용하여 작업을 사용 가능한 실행기로 보냅니다.

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@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

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

이 예제에서 실행기 그룹은 레이블 windows-2022-16core 이(가) 할당된 Windows 16코어 실행기로 채워집니다. runs-on 키는 일치하는 레이블을 사용하여 작업을 사용 가능한 실행기로 보냅니다.

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@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

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

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

이 예제에서 워크플로는 macOS XL 실행기와 연결된 레이블을 사용하며, 그 값은 macos-latest-xl -arm64입니다. runs-on 키는 일치하는 레이블을 사용하여 작업을 사용 가능한 실행기로 보냅니다.

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      labels: macos-latest-xlarge -arm64
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v3
        with:
          node-version: '16'
      - run: npm install -g bats
      - run: bats -v

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

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

이 예제에서 호출 ubuntu-runners 된 실행기 그룹은 레이블 ubuntu-20.04-16core이 할당된 Ubuntu Runner로 채워집니다. 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@v3
        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 Runner로 채워집니다. 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@v3
        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 ]

더 큰 실행기 문제 해결

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

  • 동시성 설정: 동시성이 최대 제한치에 도달했을 수 있습니다. 더 많은 작업을 병렬로 실행할 수 있도록 오토스케일링 설정을 더 큰 수로 변경할 수 있습니다. 자세한 내용은 "대형 실행기 관리하기"을 참조하세요.
  • 리포지토리 권한: 더 큰 실행기의 리포지토리 권한을 사용하도록 적절하게 설정했는지 확인합니다. 기본적으로 엔터프라이즈 실행기는 리포지토리 수준에서 사용할 수 없으며 조직 관리자가 수동으로 사용하도록 설정해야 합니다. 자세한 내용은 "대형 실행기 관리하기"을 참조하세요.
  • 청구 정보: 더 큰 실행기을(를) 사용하려면 파일에 유효한 신용 카드가 있어야 합니다. 계정에 신용 카드를 추가한 후, 더 큰 실행기을(를) 사용하도록 설정하는 데 최대 10분이 걸릴 수 있습니다. 자세한 내용은 "결제 방법 추가 또는 편집"을 참조하세요.
  • 지출 한도: 더 큰 실행기 지출 한도를 0보다 큰 값으로 설정해야 합니다. 자세한 내용은 "GitHub Actions의 지출 한도 관리"을 참조하세요.
  • 공정 사용 정책: 더 큰 실행기에는 실행 중인 작업 수 또는 더 큰 실행기의 전체에서 실행 중인 작업 수와 같은 여러 요인에 따라 작업을 제한하는 공정 사용 정책이 있습니다.

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

  • 동시성 설정: 동시성이 최대 제한치에 도달했을 수 있습니다. 더 많은 작업을 병렬로 실행할 수 있도록 오토스케일링 설정을 더 큰 수로 변경할 수 있습니다. 자세한 내용은 "대형 실행기 관리하기"을 참조하세요.
  • 리포지토리 권한: 더 큰 실행기의 리포지토리 권한을 사용하도록 적절하게 설정했는지 확인합니다. 기본적으로 엔터프라이즈 실행기는 리포지토리 수준에서 사용할 수 없으며 조직 관리자가 수동으로 사용하도록 설정해야 합니다. 자세한 내용은 "대형 실행기 관리하기"을 참조하세요.
  • 청구 정보: 더 큰 실행기을(를) 사용하려면 파일에 유효한 신용 카드가 있어야 합니다. 계정에 신용 카드를 추가한 후, 더 큰 실행기을(를) 사용하도록 설정하는 데 최대 10분이 걸릴 수 있습니다. 자세한 내용은 "결제 방법 추가 또는 편집"을 참조하세요.
  • 지출 한도: 더 큰 실행기 지출 한도를 0보다 큰 값으로 설정해야 합니다. 자세한 내용은 "GitHub Actions의 지출 한도 관리"을 참조하세요.
  • 공정 사용 정책: 더 큰 실행기에는 실행 중인 작업 수 또는 더 큰 실행기의 전체에서 실행 중인 작업 수와 같은 여러 요인에 따라 작업을 제한하는 공정 사용 정책이 있습니다.

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