Skip to main content

엔터프라이즈에서 Dependabot 업데이트를 위한 자체 호스트된 러너 관리

엔터프라이즈의 리포지토리에서 사용되는 종속성을 안전하게 보호하고 유지 관리하는 데 도움이 되는 끌어오기 요청을 생성하기 위해 GitHub Enterprise Server 인스턴스가 사용하는 Dependabot용 전용 러너를 만들 수 있습니다.

Dependabot updates용 자체 호스팅 실행기 정보

GitHub Enterprise Server 인스턴스 보안 및 버전 업데이트를 설정하여 Dependabot 사용자가 안전한 코드를 만들고 유지 관리하도록 도울 수 있습니다. 개발자 Dependabot updates는 리포지토리를 구성하여 종속성이 자동으로 업데이트되고 안전하게 유지되도록 할 수 있습니다. 자세한 내용은 엔터프라이즈에 Dependabot 사용을(를) 참조하세요.

Dependabot updates에서 GitHub Enterprise Server 인스턴스를 사용하려면 의존성을 업데이트할 풀 리퀘스트를 생성하도록 자체 호스팅 실행기를 구성해야 합니다.

필수 조건

자체 호스팅 실행기를 구성하는 것은 Dependabot updates를 활성화하는 과정에서 중간 단계 중 하나일 뿐입니다. 이 단계들에 앞서 반드시 따라야 하는 몇 가지 단계가 있으며, 여기에는 자체 호스팅 실행기와 함께 GitHub Enterprise Server 인스턴스를 사용하도록 GitHub Actions를 구성하는 작업이 포함됩니다. 자세한 내용은 엔터프라이즈에 Dependabot 사용을(를) 참조하세요.

Dependabot updates에 대한 자체 호스팅 실행기 구성

Dependabot 러너의 시스템 요구 사항

Dependabot 실행기에서 사용하는 모든 가상 머신(VM)은 자체 호스트된 실행기 요구 사항을 충족해야 합니다. 또한 다음 요구 사항을 충족해야 합니다.

  • Linux 운영 체제

  • x64 아키텍처

  • 실행기 사용자에 대한 액세스 권한이 있는 설치된 Docker:

    • 루트리스 모드에서 Docker를 설치하고 root 권한 없이 Docker에 액세스하도록 실행기를 구성하는 것이 좋습니다.
    • 또는 Docker를 설치하고 실행기 사용자에게 Docker를 실행할 수 있는 권한을 부여합니다.

CPU 및 메모리 요구 사항은 지정된 VM에 배포하는 동시 실행기 수에 따라 달라집니다. 지침에 따라 2개 CPU 8GB 단일 컴퓨터에 20개의 실행기를 성공적으로 설정했지만 궁극적으로 CPU 및 메모리 요구 사항은 업데이트되는 리포지토리에 따라 크게 달라집니다. 일부 에코시스템에는 다른 에코시스템보다 더 많은 리소스가 필요합니다.

VM에서 14개 이상의 동시 실행기를 지정하는 경우 Docker /etc/docker/daemon.json 구성을 업데이트하여 Docker에서 만들 수 있는 기본 네트워크 수를 늘려야 합니다.

{
  "default-address-pools": [
    {"base":"10.10.0.0/16","size":24}
  ]
}

참고

Dependabot 기반 GitHub Actions의 경우, Azure 가상 네트워크(VNET) 또는 ARC(Actions Runner Controller)를 통해 프라이빗 네트워킹이 지원됩니다. Actions Runner Controller를 사용하여 자체 호스팅된 액션 러너에서 Dependabot이 실행되도록 설정Azure 프라이빗 네트워크를 사용하여 Github 호스팅 작업 실행기에서 실행되도록 Dependabot 설정을 참조하세요.

Dependabot 러너의 네트워크 요구 사항

Dependabot 러너는 공용 인터넷, GitHub.com, 그리고 Dependabot updates에서 사용될 모든 내부 레지스트리에 대한 액세스 권한이 필요합니다. 내부 네트워크에 대한 위험을 최소화하려면 VM(가상 머신)에서 내부 네트워크로의 액세스를 제한해야 합니다. 이렇게 하면 실행기에서 하이재킹된 종속성을 다운로드하는 경우 내부 시스템이 손상될 가능성이 줄어듭니다.

Dependabot 러너용 인증서 구성

GitHub Enterprise Server 인스턴스에서 자체 서명된 인증서를 사용하거나 자체 서명된 인증서를 사용하는 레지스트리와 상호 작용해야 하는 경우 Dependabot 해당 인증서도 작업을 실행하는 Dependabot 자체 호스팅 실행기에도 설치되어야 합니다. 이 보안은 연결을 강화합니다. 또한 대부분의 작업은 JavaScript로 작성되며, 운영 체제 인증서 저장소를 사용하지 않는 Node.js를 사용하여 실행되므로 인증서를 사용하도록 Node.js를 구성해야 합니다.

Dependabot 업데이트용 자체 호스팅 러너 추가

  1. 리포지토리, 조직 또는 엔터프라이즈 계정 수준에서 자체 호스트된 실행기를 프로비저닝합니다. 자세한 내용은 자체 호스팅 실행기자체 호스트형 실행기 추가을(를) 참조하세요.

  2. 위에서 설명한 요구 사항을 준수하여 셀프 호스팅 러너를 설치합니다. 예를 들어 Ubuntu 20.04를 실행하는 VM에서 다음을 수행합니다.

  3. dependabot에서 사용하려는 각 실행기에 Dependabot 레이블을 할당합니다. 자세한 내용은 자체 호스팅 실행기로 레이블 사용을(를) 참조하세요.

  4. 선택적으로 Dependabot에 의해 트리거되는 워크플로가 읽기 전용보다 높은 권한을 사용하고 일반적으로 사용 가능한 모든 시크릿에 액세스할 수 있도록 설정합니다. 자세한 내용은 엔터프라이즈에 대한 GitHub Actions 문제 해결을(를) 참조하세요.