워크플로에서 Actions Runner Controller 러너 사용하기

워크플로에서 Actions Runner Controller 러너 사용하기

워크플로 파일에서 Actions Runner Controller(ARC) 러너를 사용하는 방법을 알아봐요. 러너 스케일 세트의 이름이나 레이블을 runs-on 키의 값으로 지정해 작업을 ARC 러너로 보낼 수 있어요.

출처: 문서

본문

워크플로 파일에서 ARC 러너 사용하기

작업을 러너 스케일 세트에서 실행하도록 할당하려면, GitHub Actions 워크플로 파일의 runs-on 키 값으로 스케일 세트의 이름을 지정할 수 있어요.

예를 들어 다음 러너 스케일 세트 구성은 INSTALLATION_NAME 값을 arc-runner-set으로 설정해요.

# Using a Personal Access Token (PAT)
INSTALLATION_NAME="arc-runner-set"
NAMESPACE="arc-runners"
GITHUB_CONFIG_URL="https://github.com/<your_enterprise/org/repo>"
GITHUB_PAT="<PAT>"
helm install "${INSTALLATION_NAME}" \
    --namespace "${NAMESPACE}" \
    --create-namespace \
    --set githubConfigUrl="${GITHUB_CONFIG_URL}" \
    --set githubConfigSecret.github_token="${GITHUB_PAT}" \
    oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set

이 구성을 워크플로에서 사용하려면 워크플로의 runs-on 키 값을 arc-runner-set으로 설정해요. 다음 예제와 비슷해요.

jobs:
  job_name:
    runs-on: arc-runner-set

러너 스케일 세트 이름 사용하기

러너 스케일 세트 이름은 속한 러너 그룹 내에서 고유해요. 같은 이름으로 여러 러너 스케일 세트를 배포하려면 서로 다른 러너 그룹에 속해야 해요. 러너 스케일 세트 이름을 지정하는 방법에 대한 자세한 내용은 Actions Runner Controller로 러너 스케일 세트 배포하기를 참고하세요.

러너 스케일 세트의 설치 이름을 사용하거나, values.yaml 파일에서 runnerScaleSetName 필드의 값을 runs-on 대상으로 정의할 수 있어요. 또한 스케일 세트에 여러 레이블을 할당해 더 유연한 작업 라우팅을 활성화할 수도 있어요. 러너 스케일 세트의 레이블을 구성하려면 values.yaml 파일에서 runnerScaleSetLabels 값을 설정해요. 자세한 내용은 Actions Runner Controller로 러너 스케일 세트 배포하기를 참고하세요.

레이블을 사용해 러너 스케일 세트 대상으로 지정하기

러너 스케일 세트에 여러 레이블을 할당하고 워크플로에서 러너를 대상으로 지정하는 데 사용할 수도 있어요. 러너 스케일 세트의 레이블을 구성하려면 values.yaml 파일에서 runnerScaleSetLabels 값을 설정해요.

runnerScaleSetLabels:
  - linux
  - gpu
  - private-network

특정 레이블이 있는 러너 스케일 세트를 대상으로 지정하려면 워크플로의 runs-on 키에서 레이블을 배열로 지정해요.

jobs:
  job_name:
    runs-on: [linux, gpu, private-network]

더 알아보기 (Learn more)

일부는 Apache-2.0 라이선스에 따라 https://github.com/actions/actions-runner-controller/에서 각색되었어요:

Copyright 2019 Moto Ishizawa

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.