Skip to main content

더 큰 실행기에서 작업 실행

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

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

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

Platform navigation

실행기에서 작업 실행

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

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

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

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

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

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

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

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

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

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

참고: macOS 더 큰 실행기s의 -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@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

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

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

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

더 큰 실행기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과 호환되지 않을 수 있습니다. 다른 노드 버전이 필요한 작업을 사용하는 경우 런타임에 특정 버전을 수동으로 설치해야 할 수 있습니다.

참고: ARM 지원 실행기는 현재 베타 버전이며 변경될 수 있습니다.