Skip to main content

GitHub API에 인증

GitHub API에 인증하여 GitHub Enterprise Server 인스턴스과(와) 함께 Actions Runner Controller을(를) 사용하는 방법을 알아봅니다.

법적 고지 사항

개요

GitHub App을(를) 사용하거나 personal access token (classic)을(를) 사용하여 GitHub API에 대한 Actions Runner Controller(ARC)을(를) 인증할 수 있습니다.

참고: 엔터프라이즈 수준의 실행기용 GitHub App을(를) 사용하여 인증할 수 없습니다. 자세한 내용은 "그룹을 사용하여 자체 호스트형 실행기에 대한 액세스 관리"을(를) 참조하세요.

GitHub App(으)로 ARC 인증

  1. 조직이 소유한 GitHub App 만들기 자세한 내용은 "GitHub 앱 등록"을(를) 참조하세요. 다음과 같이 GitHub App을(를) 구성합니다.

    1. "홈페이지 URL"에 https://github.com/actions/actions-runner-controller를 입력합니다.

    2. "사용 권한"에서 리포지토리 권한을 클릭합니다. 그런 다음 드롭다운 메뉴를 사용하여 다음 액세스 권한을 선택합니다.

      • 관리: 읽기 및 쓰기

        참고: Administration: Read and write은(는) 리포지토리 범위에서 등록할 Actions Runner Controller을(를) 구성할 때만 필요합니다. 조직 범위에 등록할 때는 필요하지 않습니다.

      • 메타데이터: 읽기 전용

    3. "사용 권한"에서 조직 권한을 클릭합니다. 그런 다음 드롭다운 메뉴를 사용하여 다음 액세스 권한을 선택합니다.

      • 자체 호스트형 실행기: 읽기 및 쓰기
  2. GitHub App을(를) 만든 후 GitHub App의 페이지에서 "앱 ID" 값을 메모합니다. 해당 값은 이후에 사용합니다.

  3. "프라이빗 키"에서 프라이빗 키 생성을 클릭하고, .pem 파일을 저장합니다. 해당 키는 이후에 사용합니다.

  4. 페이지의 왼쪽 위 모서리에 있는 메뉴에서 앱 설치를 클릭하고 조직 옆에 있는 설치를 클릭하여 조직에 앱을 설치합니다.

  5. 조직에 대한 설치 권한을 확인한 후 앱 설치 ID를 기록해 둡니다. 나중에 필요합니다. 다음 URL 형식의 앱 설치 페이지에서 앱 설치 ID를 찾을 수 있습니다.

    https://HOSTNAME/organizations/ORGANIZATION/settings/installations/INSTALLATION_ID

  6. 이전 단계에서 다운로드한 앱 ID, 설치 ID 및 다운로드한 .pem 프라이빗 키 파일을 Kubernetes에 비밀로 등록합니다.

    GitHub App의 값을 Kubernetes에 비밀로 만들려면 다음 명령을 실행합니다.

    참고: gha-runner-scale-set 차트가 설치된 동일한 네임스페이스에 비밀을 만듭니다. 이 예제에서 네임스페이스는 빠른 시작 설명서와 일치하기 위해 arc-runners입니다. 자세한 내용은 "Actions Runner Controller에 대한 빠른 시작"을(를) 참조하세요.

    Bash
    kubectl create secret generic pre-defined-secret \
       --namespace=arc-runners \
       --from-literal=github_app_id=123456 \
       --from-literal=github_app_installation_id=654321 \
       --from-literal=github_app_private_key='-----BEGIN RSA PRIVATE KEY-----********'
    

    다음으로 values.yaml 파일 복사본의 githubConfigSecret 속성을 비밀 이름에 참조로 전달합니다.

    githubConfigSecret: pre-defined-secret
    

추가 Helm 구성 옵션은 ARC 리포지토리의 values.yaml을(를) 참조하세요.

personal access token (classic)을(를) 사용하여 ARC 인증

ARC는 personal access tokens (classic)을(를) 사용하여 자체 호스트형 실행기를 등록할 수 있습니다.

참고: personal access token (classic)을(를) 사용하여 ARC를 인증하는 것이 엔터프라이즈 수준에서 실행기를 등록하는 유일한 인증 방법입니다.

  1. 필요한 범위가 있는 personal access token (classic)을(를) 만듭니다. 필요한 범위는 엔터프라이즈 또는 조직 수준에서 실행기를 등록하는지 여부에 따라 다릅니다. personal access token (classic)를 만드는 방법에 대한 자세한 내용은 "개인용 액세스 토큰 관리"을 참조하세요.

    다음은 ARC 실행기의 필수 personal access token 범위 목록입니다.

    • 리포지토리 실행기: repo
    • 조직 실행기: admin:org
  2. personal access token (classic)의 값으로 Kubernetes 비밀을 만들려면 다음 명령을 사용합니다.

    참고: gha-runner-scale-set 차트가 설치된 동일한 네임스페이스에 비밀을 만듭니다. 이 예제에서 네임스페이스는 빠른 시작 설명서와 일치하기 위해 arc-runners입니다. 자세한 내용은 "Actions Runner Controller에 대한 빠른 시작"을(를) 참조하세요.

    Bash
    kubectl create secret generic pre-defined-secret \
       --namespace=arc-runners \
       --from-literal=github_token='YOUR-PAT'
    
  3. values.yaml 파일 복사본에서 비밀 이름을 참조로 전달합니다.

    githubConfigSecret: pre-defined-secret
    

    추가 Helm 구성 옵션은 ARC 리포지토리의 values.yaml을(를) 참조하세요.

다음은 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.