About Dependabot on GitHub Actions self-hosted runners
새 리포지토리에서 Dependabot을(를) 사용하도록 설정하고 GitHub Actions을(를) 사용하도록 설정한 경우 Dependabot은(는) 기본적으로 GitHub Actions에서 실행됩니다.
새 리포지토리에서 Dependabot을(를) 사용하도록 설정하고 GitHub Actions을(를) 사용하지 않도록 설정한 경우, Dependabot은(는) Dependabot updates을 수행하기 위해 GitHub Enterprise Cloud에 있는 레거시 애플리케이션에서 실행됩니다. 이렇게 하면 GitHub Actions와 같이 Dependabot updates 작업의 성능, 가시성 또는 제어가 향상되지 않습니다. GitHub Actions와 함께 Dependabot을 사용하려면 리포지토리에서 GitHub Actions를 사용하도록 설정한 다음, 리포지토리의 "Code security" 설정 페이지에서 "Dependabot on Actions runners"를 사용하도록 설정해야 합니다. For more information, see GitHub Actions 실행기의 Dependabot 정보.
Note
GitHub의 향후 릴리스에서는 GitHub Actions을(를) 사용하여 항상 Dependabot을(를) 실행합니다. 이 설정을 사용하거나 사용하지 않도록 하는 옵션은 더 이상 지원되지 않습니다.
You can help users of your organization and repositories to create and maintain secure code by setting up Dependabot security and version updates. With Dependabot updates, developers can configure repositories so that their dependencies are updated and kept secure automatically. Running Dependabot on GitHub Actions allows for better performance, and increased visibility and control of Dependabot jobs.
Note
Dependabot은 Azure VNET(Virtual Network) 또는 ARC(Actions Runner Controller)에서 프라이빗 네트워킹 사용을 지원하지 않습니다.
To have greater control over Dependabot access to your private registries and internal network resources, you can configure Dependabot to run on GitHub Actions self-hosted runners.
For security reasons, when running Dependabot on GitHub Actions self-hosted runners, Dependabot updates will not be run on public repositories.
For more information about configuring Dependabot access to private registries when using GitHub-hosted runners, see Dependabot의 개인 레지스트리 구성에 대한 지침. For information about which ecosystems are supported as private registries, see Removing Dependabot access to public registries.
Prerequisites
You must have Dependabot installed and enabled, and GitHub Actions enabled and in use. The "Dependabot on GitHub Actions Runners" setting for your organization should also be enabled. For more information, see GitHub Actions 실행기의 Dependabot 정보.
Your organization may have configured a policy to restrict actions and self-hosted runners from running in specific repositories, which in turn will not allow Dependabot to run on GitHub Actions self-hosted runners. In this case, the organization or repository level setting to enable "Dependabot on self-hosted runners" will not be visible in the web UI. For more information, see 조직의 GitHub Actions 사용 안 함 또는 제한.
엔터프라이즈에서만 작업 및 재사용 가능한 워크플로를 허용하는 정책을 적용하고 GitHub Actions에서 Dependabot을(를) 사용하도록 설정하면 Dependabot이(가) 실행되지 않습니다. Dependabot을(를) 엔터프라이즈 작업 및 재사용 가능한 워크플로와 함께 실행할 수 있도록 하려면 GitHub에서 만든 작업을 허용하거나 지정된 작업 및 재사용 가능한 워크플로를 허용하도록 선택해야 합니다. 자세한 정보는 "엔터프라이즈에서 GitHub Actions에 대한 정책 적용"을(를) 참조하세요.
Configuring self-hosted runners for Dependabot updates
After you configure your organization or repository to run Dependabot on GitHub Actions, and before you enable Dependabot on self-hosted runners, you need to configure self-hosted runners for Dependabot updates.
System requirements for Dependabot runners
Dependabot 실행기에서 사용하는 모든 가상 머신(VM)은 자체 호스트된 실행기 요구 사항을 충족해야 합니다. 또한 다음 요구 사항을 충족해야 합니다.
-
Linux 운영 체제
-
x64 아키텍처
-
실행기 사용자에 대한 액세스 권한이 있는 설치된 Docker:
- 루트리스 모드에서 Docker를 설치하고
root
권한 없이 Docker에 액세스하도록 실행기를 구성하는 것이 좋습니다. - 또는 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}
]
}
Network requirements for Dependabot runners
Dependabot 실행기는 퍼블릭 인터넷, GitHub.com, 그리고 Dependabot updates 업데이트에 사용될 모든 내부 레지스트리에 액세스할 수 있어야 합니다. 내부 네트워크에 대한 위험을 최소화하려면 VM(가상 머신)에서 내부 네트워크로의 액세스를 제한해야 합니다. 이렇게 하면 실행기에서 하이재킹된 종속성을 다운로드하는 경우 내부 시스템이 손상될 가능성이 줄어듭니다.
Certificate configuration for Dependabot runners
If Dependabot needs to interact with registries that use self-signed certificates, those certificates must also be installed on the self-hosted runners that run Dependabot jobs. This security hardens the connection. You must also configure Node.js to use the certificate, because most actions are written in JavaScript and run using Node.js, which does not use the operating system certificate store.
Adding self-hosted runners for Dependabot updates
-
Provision self-hosted runners, at the repository or organization level. For more information, see 자체 호스트형 실행기 정보 and 자체 호스트형 실행기 추가.
-
Set up the self-hosted runners with the requirements described above. For example, on a VM running Ubuntu 20.04 you would:
- Install Docker and ensure that the runner users have access to Docker. For more information, see the Docker documentation.
- Install Docker Engine on Ubuntu
- Recommended approach: Run the Docker daemon as a non-root user (Rootless mode)
- Alternative approach: Manage Docker as a non-root user
- Verify that the runners have access to the public internet and can only access the internal networks that Dependabot needs.
- Install any self-signed certificates for registries that Dependabot will need to interact with.
- Install Docker and ensure that the runner users have access to Docker. For more information, see the Docker documentation.
-
Assign a
dependabot
label to each runner you want Dependabot to use. For more information, see 자체 호스트형 실행기로 레이블 사용. -
Optionally, enable workflows triggered by Dependabot to use more than read-only permissions and to have access to any secrets that are normally available. For more information, see Troubleshooting Dependabot on GitHub Actions.
Enabling self-hosted runners for Dependabot updates
Once you have configured self-hosted runners for Dependabot updates, you can enable or disable Dependabot updates on self-hosted runners at the organization or repository level.
Note, disabling and re-enabling the "Dependabot on self-hosted runners" settings will not trigger a new Dependabot run.
Enabling or disabling for your repository
You can manage Dependabot on self-hosted runners for your private or internal repository.
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
사이드바의 "Security" 섹션에서 Code security 를 클릭합니다.
-
Under "Dependabot", to the right of "Dependabot on self-hosted runners", click Enable to enable the feature or Disable to disable it.
Enabling or disabling for your organization
You can enable Dependabot on self-hosted runners for all existing private or internal repositories in an organization. Only repositories already configured to run Dependabot on GitHub Actions will be updated to run Dependabot on self-hosted runners the next time a Dependabot job is triggered.
Note
You need to enable self-hosted runners for your organization if you use 대형 러너. For more information, see GitHub Actions 실행기의 Dependabot 정보.
- GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.
- 조직 옆에 있는 설정을 클릭합니다.
- In the "Security" section of the sidebar, click Code security then Global settings.
- Under "Dependabot", select "Dependabot on self-hosted runners" to enable the feature or deselect to disable it. This action enables or disables the feature for all new repositories in the organization.
For more information, see 조직에 대한 글로벌 보안 설정 구성.