Skip to main content

GitHub Action Runner


Action Runner Controller

설치


helm pull oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller \
--version 0.9.1
helm show values oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller \
--version 0.9.1 \
> gha-runner-scale-set-controller-0.9.1.yaml
helm template gha-controller gha-runner-scale-set-controller-0.9.1.tgz \
-n github \
-f gha-runner-scale-set-controller-values.yaml \
> gha-controller.yaml
helm upgrade gha-controller gha-runner-scale-set-controller-0.9.1.tgz \
--install \
--history-max 5 \
-n github \
-f gha-runner-scale-set-controller-values.yaml

AutoscalingRunnerSet

인증관련 준비

  • Organization permissions
    • Self-hosted runners: Read and write

권한이 필요합니다.

생성


helm pull oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set \
--version 0.9.1
helm show values oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set \
--version 0.9.1 \
> gha-runner-scale-set-0.9.1.yaml
gha-runner-scale-set-values.yaml
githubConfigUrl: https://github.com/<repo|org|enter>
githubConfigSecret:
github_token: <token>

runnerGroup: "default"

runnerScaleSetName: ""
  • runnerScaleSetName
    • GitHub Action 설정 파일의 .jobs.<jobName>.runs-on에 사용될 값입니다.
    • 설정하지 않으면 .Release.Name이 사용됩니다.
helm template gha-runner gha-runner-scale-set-0.9.1.tgz \
-n github \
-f gha-runner-scale-set-values.yaml \
> gha-runner.yaml
helm upgrade gha-runner gha-runner-scale-set-0.9.1.tgz \
--install \
--history-max 5 \
-n github \
-f gha-runner-scale-set-values.yaml

GitHub 확인

실행 후 AutoscalingRunnerSet 처리가 정상적으로 처리되어 러너가 등록되었는지 확인해야합니다. 러너를 등록한 곳에 따라 사용하기 위한 추가 조치가 필요할 수 있습니다.

  • Oraganization
    • Settings
      • Actions
        • Runners
          • runnerScaleSetName에 해당하는 러너가 등록되어 있는지 확인합니다.
        • Runner groups
          • runnerGroup에 해당하는 러너 그룹이 생성되어 있는지 확인합니다.
            • 해당 그룹을 클릭하여 러너를 실행할 수 있는 리포지토리와 워크플로우를 설정합니다.

삭제

helm uninstall gha-runner -n github

AutoscalingRunnerSet가 삭제되면 자동으로 GitHub에 등록된 러너도 삭제됩니다.

삭제

helm uninstall gha-controller -n github
for crd in $(kubectl get crd -o name); do
case $crd in
*actions.github.com)
kubectl delete $crd
;;
esac
done