개인 레지스트리에만 액세스하도록 Dependabot 구성에 대해
Dependabot은(는) 기본적으로 퍼블릭 레지스트리에 액세스할 수 있으며, 프라이빗 레지스트리에 액세스하도록 Dependabot을(를) 구성할 수 있습니다. 개인 레지스트리 지원 및 구성에 대한 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요. 비공개 레지스트리를 구성할 때 참고할 권장 사항과 조언, 사용 가능한 옵션에 대한 심층적인 내용은 Dependabot의 개인 레지스트리 구성에 대한 지침을(를) 참조하세요.
개인 레지스트리 및 내부 네트워크 리소스에 대한 Dependabot의 액세스를 보다 효과적으로 제어하려면 Dependabot이(가) GitHub Actions 자체 호스트형 실행기에서 실행되도록 구성할 수 있습니다. 자세한 내용은 GitHub Actions 실행기의 Dependabot 정보 및 자체 호스팅 러너에서 Dependabot 구성을(를) 참조하세요.
공용 레지스트리에 대한 호출을 제거하여 개인 레지스트리_에만_ 액세스하도록 Dependabot을(를) 구성할 수 있습니다. 이 문서에 나열된 에코시스템에 대해서만 구성이 가능합니다.
번들러
Bundler 에코시스템이 프라이빗 레지스트리만 액세스하도록 구성하려면 replaces-base: true 파일에 dependabot.yml 을 설정하면 됩니다. 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요.
Bundler 환경에서는 프라이빗 레지스트리 URL이 포함된 Gemfile 파일을 리포지토리에 추가로 체크인해야 합니다.
# Example Gemfile source "https://private_registry_url"
# Example Gemfile
source "https://private_registry_url"
도커
다음 구성 방법을 사용하면 도커가 프라이빗 레지스트리에만 액세스하도록 설정할 수 있습니다.
**옵션 1**
`dependabot.yml`가 없는 `replaces-base` 파일에서 프라이빗 레지스트리 구성을 정의하세요. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#docker-registry)을(를) 참조하세요.
참고
구성 파일에서 replaces-base: true을 제거합니다.
version: 2
registries:
azuretestregistry: # Define access for a private registry
type: docker-registry
url: firewallregistrydep.azurecr.io
username: firewallregistrydep
password: ${{ secrets.AZUREHUB_PASSWORD }}
version: 2
registries:
azuretestregistry: # Define access for a private registry
type: docker-registry
url: firewallregistrydep.azurecr.io
username: firewallregistrydep
password: ${{ secrets.AZUREHUB_PASSWORD }}
`Dockerfile` 파일에서 이미지 이름을 `IMAGE[:TAG]` 형식으로 추가합니다. 여기서 `IMAGE`은 사용자 이름과 저장소 이름으로 구성됩니다.
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
**옵션 2**
`replaces-base: true` 파일에 `dependabot.yml`를 설정합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#docker-registry)을(를) 참조하세요.
`replaces-base`로 구성된 레지스트리는 미러나 풀스루 캐시로 활용할 수 있습니다. 자세한 내용은 Docker 설명서에서 [레지스트리를 풀스루 캐시로 설정하는 방법](https://docs.docker.com/registry/recipes/mirror/)을 참조하세요.
Gradle
다음 구성 방법을 통해 Gradle이 프라이빗 레지스트리만 사용하도록 설정할 수 있습니다.
`dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#maven-repository)을(를) 참조하세요.
참고
구성 파일에서 replaces-base: true을 제거합니다.
또한 repositories 파일 build.gradle 섹션에서 개인 레지스트리 URL을 지정해야 합니다.
# Example build.gradle file
repositories {
maven {
url "https://private_registry_url"
}
}
메이븐
다음 구성 방법을 통해 Maven이 프라이빗 레지스트리만 사용하도록 설정할 수 있습니다.
**옵션 1**
`replaces-base: true` 파일에 `dependabot.yml`를 설정합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#maven-repository)을(를) 참조하세요.
**옵션 2**
`pom.xml` 파일에는 프라이빗 레지스트리 URL만 사용해야 합니다.
<project>
...
<repositories>
<repository>
<id>central</id>
<name>your custom repo</name>
<url>https://private_registry_url</url>
</repository>
...
</project>
노드
npm
다음 구성 방법을 통해 npm이 프라이빗 레지스트리만 사용하도록 설정할 수 있습니다.
**옵션 1**
`dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.
참고
구성 파일에서 replaces-base: true을 제거합니다.
npm 환경에서 프라이빗 레지스트리 URL이 담긴 .npmrc 파일을 리포지토리에 추가로 체크인해야 합니다.
registry=https://private_registry_url
registry=https://private_registry_url
**옵션 2**
`.npmrc` 파일에 정의된 글로벌 레지스트리가 없는 경우 `replaces-base: true` 파일에서 `dependabot.yml` 를 설정할 수 있습니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.
참고
범위가 지정된 종속성(@my-org/my-dep)의 경우 Dependabot이 프로젝트의 .npmrc 파일에 대해 정의된 개인 레지스트리를 포함해야 합니다. 개별 범위에 맞는 개인 레지스트리를 정의하려면 @myscope:registry=https://private_registry_url을 사용하세요.
Yarn
Yarn Classic 및 Yarn Berry 프라이빗 레지스트리는 Dependabot에서 모두 지원하지만, Dependabot이 프라이빗 레지스트리에 액세스하기 위해서는 각 에코시스템에 따라 구성이 달라야 합니다.
Yarn 클래식
Yarn Classic이 프라이빗 레지스트리만 액세스하도록 설정하려면 다음 구성 방법을 따르세요.
**옵션 1**
`dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.
참고
구성 파일에서 replaces-base: true 을 삭제하세요.
프로젝트 yarn.lock 파일의 종속성 소스로 프라이빗 레지스트리가 나열되도록 하려면 프라이빗 레지스트리에 액세스할 수 있는 시스템에서 yarn install 를 실행해야 합니다. Yarn에서 프라이빗 레지스트리 URL을 포함하도록 resolved 필드 설정을 업데이트해야 합니다.
encoding@^0.1.11:
version "0.1.13"
resolved "https://private_registry_url/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
dependencies:
iconv-lite "^0.6.2"
encoding@^0.1.11:
version "0.1.13"
resolved "https://private_registry_url/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
dependencies:
iconv-lite "^0.6.2"
**옵션 2**
`yarn.lock` 파일에 프라이빗 레지스트리가 종속성 소스로 나열되지 않은 경우, 일반 패키지 관리자 지침에 따라 Yarn Classic을 설정할 수 있습니다.
1.
dependabot.yml 파일에서 프라이빗 레지스트리 설정을 정의합니다.
-
프로젝트 루트의
.yarnrc파일에 키 레지스트리를 사용하여 레지스트리 항목을 추가합니다. 다른 방법으로yarn config set registry <private registry URL>을 실행합니다.YAML registry https://private_registry_url
registry https://private_registry_url**옵션 3** `.yarnrc` 글로벌 레지스트리가 파일에 정의되어 있지 않으면 `replaces-base: true` 파일에서 `dependabot.yml` 설정을 할 수 있습니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.
참고
범위가 지정된 종속성(@my-org/my-dep)의 경우 Dependabot이 프로젝트의 .npmrc 파일에 대해 정의된 개인 레지스트리를 포함해야 합니다. 개별 범위에 맞는 개인 레지스트리를 정의하려면 @myscope:registry=https://private_registry_url을 사용하세요.
Yarn Berry (원사 베리)
Yarn Berry가 프라이빗 레지스트리만 액세스하도록 설정하려면 다음 구성 방법을 따르세요.
**옵션 1**
`dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.
참고
구성 파일에서 replaces-base: true 을 삭제하세요.
프로젝트 yarn.lock 파일의 종속성 소스로 프라이빗 레지스트리가 나열되도록 하려면 프라이빗 레지스트리에 액세스할 수 있는 시스템에서 yarn install 를 실행해야 합니다. Yarn에서 프라이빗 레지스트리 URL을 포함하도록 resolved 필드 설정을 업데이트해야 합니다.
{ 원시 %}%
encoding@^0.1.11:
version "0.1.13"
resolved "https://private_registry_url/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
dependencies:
iconv-lite "^0.6.2"
encoding@^0.1.11:
version "0.1.13"
resolved "https://private_registry_url/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
dependencies:
iconv-lite "^0.6.2"
**옵션 2**
`yarn.lock` 파일에 프라이빗 레지스트리가 종속성 소스로 등록되지 않았다면, 일반적인 패키지 관리자 안내에 따라 Yarn Berry를 설정할 수 있습니다.
1.
dependabot.yml 파일에서 프라이빗 레지스트리 설정을 정의합니다.
- 프로젝트 루트의
.yarnrc.yml파일에서npmRegistryServer키를 사용하여 레지스트리 항목을 추가합니다. 다른 방법으로yarn config set npmRegistryServer <private registry URL>을 실행합니다.npmRegistryServer: "https://private_registry_url"
참고
범위가 지정된 종속성(@my-org/my-dep)의 경우 Dependabot이 프로젝트의 .yarnrc 파일에 대해 정의된 개인 레지스트리를 포함해야 합니다. 개별 범위에 맞는 개인 레지스트리를 정의하려면 "@myscope:registry" "https://private_registry_url"을 사용하세요.
누겟
NuGet 에코시스템에서 개인 레지스트리에만 액세스 가능하도록 dependabot.yml 파일을 구성할 수 있습니다. 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요.
NuGet 에코시스템에서는 nuget.config 파일을 저장소로 체크인해야 하며, < clear /> 섹션에 <packageSources> 태그가 있거나 nuget.org 파일의 disabledPackageSources 섹션에 있는 key nuget.config가 true여야 합니다.
해당 예시는 < clear />의 packageSources 섹션에 있는 nuget.config 태그의 예입니다.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
< clear />
<add key="example-nuget" value="https://private_registry_url/nuget/example-nuget/index.json" />
</packageSources>
</configuration>
해당 예시는 nuget.org의 disabledPackageSources 섹션에 true로 nuget.config 키를 추가하는 방법입니다.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="example-nuget" value="https://private_registry_url/nuget/example-nuget/index.json" />
</packageSources>
<disabledPackageSources>
<add key="nuget.org" value="true" />
</disabledPackageSources>
</configuration>
Dependabot이(가) 개인 피드와 공용 피드에 모두 액세스하도록 구성하려면 dependabot.yml 아래에 구성된 public 피드가 포함된 다음 registries 예제를 확인하세요.
version: 2
registries:
nuget-example:
type: nuget-feed
url: https://nuget.example.com/v3/index.json
username: $
password: $
public:
type: nuget-feed
url: https://api.nuget.org/v3/index.json
updates:
- package-ecosystem: nuget
directory: "/"
registries: "*"
schedule:
interval: daily
version: 2
registries:
nuget-example:
type: nuget-feed
url: https://nuget.example.com/v3/index.json
username: $
password: $
public:
type: nuget-feed
url: https://api.nuget.org/v3/index.json
updates:
- package-ecosystem: nuget
directory: "/"
registries: "*"
schedule:
interval: daily
파이썬
현재 Python 에코시스템에서는 Pip, Pip-compile, Pipenv, Poetry를 패키지 관리자로 지원합니다.
핍
다음 구성 방법을 사용하면 Pip 에코시스템에서 프라이빗 레지스트리만 사용하도록 설정할 수 있습니다.
**옵션 1**
`dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.
참고
구성 파일에서 replaces-base: true 을 삭제하세요.
`[global]` 파일의 `pip.conf` 섹션에 프라이빗 레지스트리 URL을 추가한 다음, 리포지토리에 파일을 체크인하세요.
[global] timeout = 60 index-url = https://private_registry_url
[global]
timeout = 60
index-url = https://private_registry_url
**옵션 2**
`replaces-base: true` 파일에 `dependabot.yml`를 설정합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#python-index)을(를) 참조하세요.
Pip-compile
다음과 같이 구성하면 Pip-compile 에코시스템이 프라이빗 레지스트리만 사용하도록 설정할 수 있습니다.
**옵션 1**
`replaces-base: true` 파일에 `dependabot.yml`를 설정합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#python-index)을(를) 참조하세요.
**옵션 2**
`dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.
참고
구성 파일에서 replaces-base: true 을 삭제하세요.
`requirements.txt` 파일에 프라이빗 레지스트리 URL을 추가한 후, 리포지토리에 파일을 체크인하세요.
--index-url https://private_registry_url
--index-url https://private_registry_url
Pipenv
Pipenv가 개인 레지스트리에만 접근하도록 설정하려면, replaces-base 파일에서 dependabot.yml 을 삭제하세요. 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요.
참고
구성 파일에서 replaces-base: true 을 삭제하세요.
`[[source]]` 파일의 `Pipfile` 섹션에 프라이빗 레지스트리 URL을 추가한 다음, 리포지토리에 파일을 체크인하세요.
[[source]] url = "https://private_registry_url" verify_ssl = true name = "pypi"
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"
시
Poetry가 프라이빗 레지스트리에만 접근하도록 구성하려면 replaces-base: true 을 dependabot.yml 파일에 설정하세요. 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요.
`[[tool.poetry.source]]` 파일의 `pyproject.toml` 섹션에 프라이빗 레지스트리 URL을 추가한 다음, 해당 파일을 리포지토리에 체크인하세요.
[[tool.poetry.source]] name = "private" url = "https://private_registry_url" default = true
[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true