Skip to main content

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2024-09-25. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 더 뛰어난 성능, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise Server로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

그룹을 사용하여 자체 호스트형 실행기에 대한 액세스 관리

정책을 사용하여 조직 또는 엔터프라이즈에 추가된 자체 호스트형 실행기에 대한 액세스를 제한할 수 있습니다.

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

Enterprise accounts, organizations owned by enterprise accounts, and organizations using GitHub Team or GitHub Free plans can create and manage additional runner groups using self-hosted runners.

참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.

실행기 그룹 정보

  1. 그룹 목록에서 삭제하려는 그룹의 오른쪽에 있는 을 클릭합니다.
  2. 그룹을 제거하려면 그룹 제거를 클릭합니다.
  3. 확인 프롬프트를 검토하고 이 실행기 그룹 제거를 클릭합니다.

조직에 대한 자체 호스트형 실행기 그룹 만들기

경고: 프라이빗 리포지토리에는 자체 호스팅 실행기만 사용하는 것이 좋습니다. 퍼블릭 리포지토리의 포크가 워크플로에서 코드를 실행하는 끌어오기 요청을 만들어 자체 호스팅 실행기 컴퓨터에서 위험한 코드를 실행할 수 있기 때문입니다.

자세한 내용은 "자체 호스트형 실행기 정보"을(를) 참조하세요.

참고: 실행기 그룹을 만들 때 리포지토리 및 워크플로가 실행기 그룹에 액세스할 수 있게 정의하는 정책을 선택해야 합니다. 실행기 그룹에 액세스할 수 있는 리포지토리 및 워크플로를 변경하려면 조직 소유자가 조직에 대한 정책을 설정할 수 있습니다. 자세한 내용은 "엔터프라이즈에서 GitHub Actions에 대한 정책 적용"을(를) 참조하세요.

모든 조직에는 단일 기본 실행기 그룹이 있습니다. 조직 소유자는 조직 수준의 실행기 그룹을 추가로 만들 수 있습니다.

실행기를 등록하면서 그룹이 지정되지 않은 경우, 자동으로 기본 그룹에 추가됩니다. 실행기를 기본 그룹에서 사용자 지정 그룹으로 이동할 수 있습니다. 자세한 내용은 실행기를 그룹으로 이동을 참조하세요.

REST API를 사용하여 실행기 그룹을 만드는 방법에 대한 자세한 내용은 “GitHub Actions에 대한 REST API 엔드포인트”을(를) 참조하세요.

  1. GitHub에서 조직의 기본 페이지로 이동합니다.

  2. 조직 이름에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    조직 프로필에 있는 여러 탭의 스크린샷. "설정" 탭이 진한 주황색으로 표시됩니다.

  3. 왼쪽 사이드바에서 작업을 클릭한 다음 실행기 그룹을 클릭합니다.

  4. “실행기 그룹” 섹션에서 새 실행기 그룹을 클릭합니다.

  5. 실행기 그룹의 이름을 입력합니다.

  6. 리포지토리 액세스에 대한 정책을 할당합니다.

    특정 리포지토리 목록 또는 조직의 모든 리포지토리에 액세스할 수 있도록 실행기 그룹을 구성할 수 있습니다. 기본적으로 프라이빗 리포지토리만 실행기 그룹의 실행기에서 액세스할 수 있지만 이를 재정의할 수 있습니다. 엔터프라이즈에서 공유한 조직의 실행기 그룹을 구성하는 경우 이 설정을 재정의할 수 없습니다.

  7. 워크플로 액세스에 대한 정책을 할당합니다.

    특정 워크플로 목록 또는 모든 워크플로에 액세스할 수 있도록 실행기 그룹을 구성할 수 있습니다. 엔터프라이즈에서 공유한 조직의 실행기 그룹을 구성하는 경우 이 설정을 재정의할 수 없습니다. 실행기 그룹에 액세스할 수 있는 워크플로를 지정하는 경우 리포지토리 이름, 소유자를 포함한 워크플로의 전체 경로를 사용해야 하며 워크플로를 분기, 태그 또는 전체 SHA에 고정해야 합니다. 예: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main

    선택한 워크플로 내에서 직접 정의된 작업만 실행기 그룹에 액세스할 수 있습니다. 조직 소유 실행기 그룹은 엔터프라이즈의 다른 조직에서 워크플로에 액세스할 수 없습니다. 따라서 엔터프라이즈 소유 실행기 그룹을 만들어야 합니다. 1. 그룹 생성을 클릭하여 그룹을 만들고 정책을 적용합니다.

엔터프라이즈용 자체 호스트형 실행기 그룹 만들기

경고: 프라이빗 리포지토리에는 자체 호스팅 실행기만 사용하는 것이 좋습니다. 퍼블릭 리포지토리의 포크가 워크플로에서 코드를 실행하는 끌어오기 요청을 만들어 자체 호스팅 실행기 컴퓨터에서 위험한 코드를 실행할 수 있기 때문입니다.

자세한 내용은 "자체 호스트형 실행기 정보"을(를) 참조하세요.

엔터프라이즈는 액세스 관리를 위해 실행기를 그룹에 추가할 수 있습니다. 엔터프라이즈는 엔터프라이즈 계정의 특정 조직 또는 특정 워크플로에 액세스할 수 있는 실행기 그룹을 만들 수 있습니다. 조직 소유자는 엔터프라이즈 실행기 그룹에 추가 세분화된 리포지토리 또는 워크플로 액세스 정책을 할당할 수 있습니다. REST API를 사용하여 실행기 그룹을 만드는 방법에 대한 자세한 내용은 GitHub Actions REST API의 엔터프라이즈 엔드포인트를 참조하세요.

실행기를 등록하면서 그룹이 지정되지 않은 경우, 자동으로 기본 그룹에 추가됩니다. 실행기를 기본 그룹에서 사용자 지정 그룹으로 이동할 수 있습니다. 자세한 내용은 실행기를 그룹으로 이동을 참조하세요.

그룹을 만들 때 실행기 그룹에 액세스할 수 있는 조직을 정의하는 정책을 선택해야 합니다.

  1. GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진과 엔터프라이즈 설정을 차례로 클릭합니다.

    GitHub Enterprise Server에서 프로필 사진 클릭할 때 나타나는 드롭다운 메뉴의 스크린샷 "엔터프라이즈 설정" 옵션이 진한 주황색 윤곽선으로 강조 표시됩니다.

  2. 페이지 왼쪽의 엔터프라이즈 계정 사이드바에서 정책을 클릭합니다.

  3. " 정책"에서 작업을 클릭합니다.

  4. 실행기 그룹 탭을 클릭합니다.

  5. 새 실행기 그룹을 클릭합니다.

  6. “그룹 이름”에 실행기 그룹의 이름을 입력합니다.

  7. 조직 액세스에 대한 정책을 선택하려면 조직 액세스 드롭다운 메뉴를 선택하고 정책을 클릭합니다. 특정 조직 목록 또는 엔터프라이즈의 모든 조직에 액세스할 수 있도록 실행기 그룹을 구성할 수 있습니다. 기본적으로 프라이빗 리포지토리만 실행기 그룹의 실행기에 액세스할 수 있지만 이를 재정의할 수 있습니다.

  8. 워크플로 액세스에 대한 정책을 할당합니다.

    특정 워크플로 목록 또는 모든 워크플로에 액세스할 수 있도록 실행기 그룹을 구성할 수 있습니다. 엔터프라이즈에서 공유한 조직의 실행기 그룹을 구성하는 경우 이 설정을 재정의할 수 없습니다. 실행기 그룹에 액세스할 수 있는 워크플로를 지정하는 경우 리포지토리 이름, 소유자를 포함한 워크플로의 전체 경로를 사용해야 하며 워크플로를 분기, 태그 또는 전체 SHA에 고정해야 합니다. 예: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main

    선택한 워크플로 내에서 직접 정의된 작업만 실행기 그룹에 액세스할 수 있습니다.

  9. 그룹 저장을 클릭하여 그룹을 만들고 정책을 적용합니다.

러너 그룹에 액세스할 수 있는 조직 변경하기

경고: 프라이빗 리포지토리에는 자체 호스팅 실행기만 사용하는 것이 좋습니다. 퍼블릭 리포지토리의 포크가 워크플로에서 코드를 실행하는 끌어오기 요청을 만들어 자체 호스팅 실행기 컴퓨터에서 위험한 코드를 실행할 수 있기 때문입니다.

자세한 내용은 "자체 호스트형 실행기 정보"을(를) 참조하세요.

엔터프라이즈의 실행기 그룹의 경우 엔터프라이즈의 조직이 실행기 그룹에 액세스할 수 있는 항목을 변경할 수 있습니다.

  1. GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진과 엔터프라이즈 설정을 차례로 클릭합니다.

    GitHub Enterprise Server에서 프로필 사진 클릭할 때 나타나는 드롭다운 메뉴의 스크린샷 "엔터프라이즈 설정" 옵션이 진한 주황색 윤곽선으로 강조 표시됩니다.

  2. 페이지 왼쪽의 엔터프라이즈 계정 사이드바에서 정책을 클릭합니다.

  3. " 정책"에서 작업을 클릭합니다.

  4. 실행기 그룹 탭을 클릭합니다.

  5. "조직 액세스"의 드롭다운 메뉴에서 선택한 조직을 클릭합니다.

    1. 드롭다운 메뉴 오른쪽에 있는 을 클릭합니다.
    2. 팝업창에서 해당 실행기 그룹을 사용할 수 있는 조직을 확인란으로 선택합니다.
  6. 그룹 저장을 클릭합니다.

실행기 그룹에 액세스할 수 있는 조직 또는 리포지토리 변경

경고: 프라이빗 리포지토리에는 자체 호스팅 실행기만 사용하는 것이 좋습니다. 퍼블릭 리포지토리의 포크가 워크플로에서 코드를 실행하는 끌어오기 요청을 만들어 자체 호스팅 실행기 컴퓨터에서 위험한 코드를 실행할 수 있기 때문입니다.

자세한 내용은 "자체 호스트형 실행기 정보"을(를) 참조하세요.

조직의 실행기 그룹의 경우 조직의 리포지토리에서 실행기 그룹에 액세스할 수 있는 리포지토리를 변경할 수 있습니다.

  1. 실행기 그룹이 있는 조직의 기본 페이지로 이동합니다.

  2. 설정을 클릭합니다.

  3. 왼쪽 사이드바에서 작업을 클릭한 다음 실행기 그룹을 클릭합니다.

  4. 그룹 목록에서 구성하려는 실행기 그룹을 클릭합니다.

  5. "리포지토리 액세스"의 드롭다운 메뉴에서 선택한 리포지토리를 클릭합니다.

    1. 드롭다운 메뉴 오른쪽에 있는 을 클릭합니다.
    2. 팝업창에서 해당 실행기 그룹에 액세스할 수 있는 리포지토리를 확인란으로 선택합니다.
  6. 그룹 저장을 클릭합니다.

실행기 그룹에 액세스할 수 있는 워크플로 변경

경고: 프라이빗 리포지토리에는 자체 호스팅 실행기만 사용하는 것이 좋습니다. 퍼블릭 리포지토리의 포크가 워크플로에서 코드를 실행하는 끌어오기 요청을 만들어 자체 호스팅 실행기 컴퓨터에서 위험한 코드를 실행할 수 있기 때문입니다.

자세한 내용은 "자체 호스트형 실행기 정보"을(를) 참조하세요.

선택한 워크플로 또는 모든 워크플로를 실행하도록 실행기 그룹을 구성할 수 있습니다. 예를 들어 이 설정을 사용하여 실행기에서 저장된 비밀을 보호하거나 실행기 그룹이 재사용 가능한 특정 워크플로만 실행하도록 제한하여 배포 워크플로를 표준화할 수 있습니다. 엔터프라이즈에서 공유한 조직의 실행기 그룹을 구성하는 경우 이 설정을 재정의할 수 없습니다.

조직 실행기 그룹에 액세스할 수 있는 워크플로 변경

  1. 실행기 그룹이 있는 조직의 기본 페이지로 이동합니다.

  2. 설정을 클릭합니다.

  3. 왼쪽 사이드바에서 작업을 클릭한 다음 실행기 그룹을 클릭합니다.

  4. 그룹 목록에서 구성하려는 실행기 그룹을 클릭합니다.

  5. 워크플로 액세스에서 드롭다운 메뉴를 선택하고 선택한 워크플로를 클릭합니다.

  6. 아이콘을 클릭합니다.

  7. 실행기 그룹에 액세스할 수 있는 워크플로의 목록을 쉼표로 구분하여 입력합니다. 전체 경로를 사용합니다(리포지토리 이름 및 소유자 포함). 분기, 태그 또는 전체 SHA에 워크플로를 고정합니다. 예: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main

    선택한 워크플로 내에서 직접 정의된 작업만 실행기 그룹에 액세스할 수 있습니다.

    조직 소유의 실행기 그룹은 엔터프라이즈의 다른 조직에서 워크플로에 액세스할 수 없습니다. 대신 엔터프라이즈 소유 실행기 그룹을 만들어야 합니다.

  8. 저장을 클릭합니다.

엔터프라이즈 실행기 그룹에 액세스할 수 있는 워크플로 변경

  1. GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진과 엔터프라이즈 설정을 차례로 클릭합니다.

    GitHub Enterprise Server에서 프로필 사진 클릭할 때 나타나는 드롭다운 메뉴의 스크린샷 "엔터프라이즈 설정" 옵션이 진한 주황색 윤곽선으로 강조 표시됩니다.

  2. 페이지 왼쪽의 엔터프라이즈 계정 사이드바에서 정책을 클릭합니다.

  3. " 정책"에서 작업을 클릭합니다.

  4. 실행기 그룹 탭을 클릭합니다.

  5. 그룹 목록에서 구성하려는 실행기 그룹을 클릭합니다.

  6. 워크플로 액세스에서 드롭다운 메뉴를 선택하고 선택한 워크플로를 클릭합니다.

  7. 아이콘을 클릭합니다.

  8. 실행기 그룹에 액세스할 수 있는 워크플로의 목록을 쉼표로 구분하여 입력합니다. 전체 경로를 사용합니다(리포지토리 이름 및 소유자 포함). 분기, 태그 또는 전체 SHA에 워크플로를 고정합니다. 예: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main

    선택한 워크플로 내에서 직접 정의된 작업만 실행기 그룹에 액세스할 수 있습니다.

    조직 소유의 실행기 그룹은 엔터프라이즈의 다른 조직에서 워크플로에 액세스할 수 없습니다. 대신 엔터프라이즈 소유 실행기 그룹을 만들어야 합니다.

  9. 저장을 클릭합니다.

실행기 그룹의 이름 변경

엔터프라이즈 및 조직 수준에서 실행기 그룹의 이름을 편집할 수 있습니다.

조직 실행기 그룹의 이름 변경

  1. 실행기 그룹이 있는 조직의 기본 페이지로 이동합니다.
  2. 설정을 클릭합니다.
  3. 왼쪽 사이드바에서 작업을 클릭한 다음 실행기 그룹을 클릭합니다.
  4. 왼쪽 사이드바에서 작업을 클릭한 다음 실행기 그룹을 클릭합니다.
  5. "그룹 이름"의 텍스트 필드에 새 실행기 그룹 이름을 입력합니다.
  6. 저장을 클릭합니다.

엔터프라이즈 실행기 그룹의 이름 변경

  1. GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진과 엔터프라이즈 설정을 차례로 클릭합니다.

    GitHub Enterprise Server에서 프로필 사진 클릭할 때 나타나는 드롭다운 메뉴의 스크린샷 "엔터프라이즈 설정" 옵션이 진한 주황색 윤곽선으로 강조 표시됩니다.

  2. 페이지 왼쪽의 엔터프라이즈 계정 사이드바에서 정책을 클릭합니다.

  3. " 정책"에서 작업을 클릭합니다.

  4. 실행기 그룹 탭을 클릭합니다.

  5. 왼쪽 사이드바에서 작업을 클릭한 다음 실행기 그룹을 클릭합니다.

  6. "그룹 이름"의 텍스트 필드에 새 실행기 그룹 이름을 입력합니다.

  7. 저장을 클릭합니다.

그룹에 자체 호스트형 실행기 자동 추가

구성 스크립트를 사용하여 그룹에 새 실행기를 자동으로 추가할 수 있습니다. 예를 들어 이 명령은 새 실행기를 등록하고 --runnergroup 매개 변수를 사용하여 rg-runnergroup이라고 명명된 그룹에 추가합니다.

./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup

실행기 그룹이 없으면 명령이 실패합니다.

Could not find any self-hosted runner group named "rg-runnergroup".

자체 호스트형 실행기를 그룹으로 이동

등록 프로세스 중에 실행기 그룹을 지정하지 않으면 새 실행기는 기본 그룹에 자동으로 할당된 다음 다른 그룹으로 이동할 수 있습니다.

조직 실행기를 그룹으로 이동

  1. GitHub에서 조직의 기본 페이지로 이동합니다.

  2. 조직 이름에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    조직 프로필에 있는 여러 탭의 스크린샷. "설정" 탭이 진한 주황색으로 표시됩니다.

  3. 왼쪽 사이드바에서 작업을 클릭한 다음 길행기를 클릭합니다.

  4. “실행기” 목록에서 구성하려는 실행기를 클릭합니다.

  5. 실행기 그룹 드롭다운을 선택합니다.

  6. “그룹으로 실행기 이동”에서 실행기의 대상 그룹을 선택합니다.

엔터프라이즈 실행기를 그룹으로 이동

  1. GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진과 엔터프라이즈 설정을 차례로 클릭합니다.

    GitHub Enterprise Server에서 프로필 사진 클릭할 때 나타나는 드롭다운 메뉴의 스크린샷 "엔터프라이즈 설정" 옵션이 진한 주황색 윤곽선으로 강조 표시됩니다.

  2. 페이지 왼쪽의 엔터프라이즈 계정 사이드바에서 정책을 클릭합니다.

  3. " 정책"에서 작업을 클릭합니다.

  4. 실행기 탭을 클릭합니다.

  5. “실행기” 목록에서 구성하려는 실행기를 클릭합니다.

  6. 실행기 그룹 드롭다운을 선택합니다.

  7. “그룹으로 실행기 이동”에서 실행기의 대상 그룹을 선택합니다.

자체 호스트형 실행기 그룹 제거

실행기 그룹을 제거하려면 먼저 그룹에서 모든 실행기를 이동하거나 제거해야 합니다.

조직에서 실행기 그룹 제거

  1. 실행기 그룹이 있는 조직의 기본 페이지로 이동합니다.
  2. 설정을 클릭합니다.
  3. 왼쪽 사이드바에서 작업을 클릭한 다음 실행기 그룹을 클릭합니다.
  4. 그룹 목록에서 삭제하려는 그룹의 오른쪽에 있는 을 클릭합니다.
  5. 그룹을 제거하려면 그룹 제거를 클릭합니다.
  6. 확인 프롬프트를 검토하고 이 실행기 그룹 제거를 클릭합니다.

엔터프라이즈에서 실행기 그룹 제거

  1. GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진과 엔터프라이즈 설정을 차례로 클릭합니다.

    GitHub Enterprise Server에서 프로필 사진 클릭할 때 나타나는 드롭다운 메뉴의 스크린샷 "엔터프라이즈 설정" 옵션이 진한 주황색 윤곽선으로 강조 표시됩니다.

  2. 페이지 왼쪽의 엔터프라이즈 계정 사이드바에서 정책을 클릭합니다.

  3. " 정책"에서 작업을 클릭합니다.

  4. 실행기 그룹 탭을 클릭합니다.

  5. 그룹 목록에서 삭제하려는 그룹의 오른쪽에 있는 을 클릭합니다.

  6. 그룹을 제거하려면 그룹 제거를 클릭합니다.

  7. 확인 프롬프트를 검토하고 이 실행기 그룹 제거를 클릭합니다.

실행기 그룹에 고유한 이름 사용

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 ]