Skip to main content

공용 레지스트리에 대한 Dependabot 액세스 제거

공용 레지스트리에 대한 호출을 제거하여 개인 레지스트리에만 액세스하도록 Dependabot을(를) 구성하는 방법의 예시입니다.

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

People with write permissions to a repository can configure Dependabot for the repository.

개인 레지스트리에만 액세스하도록 Dependabot 구성에 관한 정보

Dependabot은(는) 기본적으로 퍼블릭 레지스트리에 액세스할 수 있으며, 프라이빗 레지스트리에 액세스하도록 Dependabot을(를) 구성할 수 있습니다. 개인 레지스트리 지원 및 구성에 대한 자세한 내용은 "Dependabot에 대한 개인 레지스트리 액세스 구성"을 참조하십시오 비공개 레지스트리를 구성할 때 참고할 권장 사항과 조언, 사용 가능한 옵션에 대한 심층적인 내용은 "Dependabot의 개인 레지스트리 구성에 대한 지침"을(를) 참조하세요.

개인 레지스트리 및 내부 네트워크 리소스에 대한 Dependabot의 액세스를 보다 효과적으로 제어하려면 Dependabot이(가) GitHub Actions 자체 호스트형 실행기에서 실행되도록 구성할 수 있습니다. 자세한 내용은 "GitHub Actions 실행기의 Dependabot 정보" 및 "자체 호스팅 실행기에서 Dependabot 관리"을(를) 참조하세요.

공용 레지스트리에 대한 호출을 제거하여 개인 레지스트리_에만_ 액세스하도록 Dependabot을(를) 구성할 수 있습니다. 이 문서에 나열된 에코시스템에 대해서만 구성할 수 있습니다.

Bundler

개인 레지스트리에만 액세스하도록 번들러 에코시스템을 구성하려면 dependabot.yml 파일에서 true와 같이 replaces-base을 설정할 수 있습니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

번들러 에코시스템에서는 개인 레지스트리 URL이 포함된 Gemfile 파일을 저장소로 체크 인해야 합니다.

# Example Gemfile

 source "https://private_registry_url"

Docker

개인 레지스트리에만 액세스하도록 도커 에코시스템을 구성하려면 다음 구성 방법을 사용할 수 있습니다.

옵션 1

replaces-base가 없는 dependabot.yml 파일에서 개인 레지스트리 구성을 정의하세요. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

참조: 구성 파일에서 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 }}

Dockerfile 파일에서 이미지 이름을 IMAGE[:TAG] 형식으로 추가합니다. 여기서 IMAGE은 사용자 이름과 저장소 이름으로 구성됩니다.

 FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04

옵션 2

dependabot.yml 파일에서 true와 같이 replaces-base을 설정합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요. replaces-base로 구성된 레지스트리는 미러 또는 풀스루 캐시로 사용할 수 있습니다. 자세한 내용은 도커 설명서에서 레지스트리를 풀스루 캐시로를 참조하십시오.

Gradle

개인 레지스트리에만 액세스하도록 그래들 에코시스템을 구성하려면 다음 구성 방법을 사용할 수 있습니다.

dependabot.yml 파일에서 개인 레지스트리 구성을 정의하세요. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

참고: replaces-base: true를 구성 파일에서 제거합니다.

또한 build.gradle 파일 repositories 섹션에서 개인 레지스트리 URL을 지정해야 합니다.

# Example build.gradle file

repositories {
    maven {
        url "https://private_registry_url"
    }
}

Maven

개인 레지스트리에만 액세스하도록 메이븐 에코시스템을 구성하려면 다음 구성 방법을 사용할 수 있습니다.

옵션 1

dependabot.yml 파일에서 true와 같이 replaces-base을 설정합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

옵션 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 파일에서 개인 레지스트리 구성을 정의하세요. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

참조: 구성 파일에서 replaces-base: true를 제거합니다.

npm 에코시스템에서는 추가적으로 개인 레지스트리 URL이 포함된 .npmrc 파일을 저장소로 체크 인해야 합니다.

 registry=https://private_registry_url

옵션 2

.npmrc 파일에 정의된 글로벌 레지스트리가 없는 경우 dependabot.yml 파일에서 true과 같이 replaces-base를 설정할 수 있습니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

참고: 범위가 지정된 종속성(@my-org/my-dep)의 경우 Dependabot에서 프로젝트의 .npmrc 파일에 개인 레지스트리가 정의되어 있어야 합니다. 개별 범위에 대한 개인 레지스트리를 정의하려면, @myscope:registry=https://private_registry_url을 사용하세요.

Yarn

Yarn Classic 및 Yarn Berry 개인 레지스트리는 모두 Dependabot에서 지원되지만 Dependabot은(는) 개인 레지스트리에만 액세스하려면 에코시스템마다 다른 구성이 필요합니다.

Yarn 클래식

개인 레지스트리에만 액세스하도록 Yarn 클래식 에코시스템을 구성하려면 다음 구성 방법을 사용할 수 있습니다.

옵션 1

dependabot.yml 파일에서 개인 레지스트리 구성을 정의하세요. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

참조: 구성 파일에서 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"

옵션 2

yarn.lock 파일에 개인 레지스트리가 종속성 원본으로 나열되지 않는 경우 일반 패키지 관리자 지침에 따라 Yarn 클래식을 설정할 수 있습니다.

  1. dependabot.yml 파일에서 개인 레지스트리 구성을 정의하세요.

  2. 키 레지스트리를 사용하여 프로젝트 루트의 .yarnrc 파일에 레지스트리를 추가합니다. 또는 yarn config set registry <private registry URL>을(를) 실행합니다.

    registry https://private_registry_url
    

옵션 3

.yarnrc 파일에 정의된 글로벌 레지스트리가 없는 경우 dependabot.yml 파일에서 true과 같이 replaces-base를 설정할 수 있습니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

참고: 범위가 지정된 종속성(@my-org/my-dep)의 경우 Dependabot에서 프로젝트의 .npmrc 파일에 개인 레지스트리가 정의되어 있어야 합니다. 개별 범위에 대한 개인 레지스트리를 정의하려면, @myscope:registry=https://private_registry_url을 사용하세요.

Yarn Berry

개인 레지스트리에만 액세스하도록 Yarn Berry 에코시스템을 구성하려면 다음 구성 방법을 사용할 수 있습니다.

옵션 1

dependabot.yml 파일에서 개인 레지스트리 구성을 정의하세요. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

참조: 구성 파일에서 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"

옵션 2

yarn.lock 파일에 개인 레지스트리가 종속성 원본으로 나열되지 않는 경우 일반 패키지 관리자 지침에 따라 Yarn Berry를 설정할 수 있습니다.

  1. dependabot.yml 파일에서 개인 레지스트리 구성을 정의하세요.
  2. npmRegistryServer를 사용하여 프로젝트 루트의 .yarnrc.yml 파일에 레지스트리를 추가합니다. 또는 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

Nuget 에코시스템이 개인 레지스트리에만 액세스할 수 있도록 하려면 dependabot.yml 파일을 구성하면 됩니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

Nuget 에코시스템에서는 nuget.config 파일을 저장소로 체크인해야 하며, < clear /> 섹션에 <packageSources> 태그가 있거나 nuget.config 파일의 disabledPackageSources 섹션에 있는 key nuget.org가 true여야 합니다.

해당 예시는 nuget.configpackageSources 섹션에 있는 < clear /> 태그의 예입니다.

<?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.configdisabledPackageSources 섹션에 true로 nuget.org 키를 추가하는 방법입니다.

<?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이(가) 개인 피드와 공용 피드에 모두 액세스하도록 구성하려면 registries 아래에 구성된 public 피드가 포함된 다음 dependabot.yml 예제를 확인하십시오:

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는 Python 에코시스템이 현재 지원하는 4개의 패키지 관리자입니다.

Pip

개인 레지스트리에만 액세스하도록 Pip 에코시스템을 구성하려면 다음 구성 방법을 사용할 수 있습니다.

옵션 1

dependabot.yml 파일에서 개인 레지스트리 구성을 정의하세요. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

참조: 구성 파일에서 replaces-base: true를 제거합니다.

pip.conf 파일의 [global] 섹션에 개인 레지스트리 URL을 추가하고 리포지토리로 파일을 체크 인하세요.

[global]
timeout = 60
index-url = https://private_registry_url

옵션 2

dependabot.yml 파일에서 true와 같이 replaces-base을 설정합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

Pip-compile

개인 레지스트리에만 액세스하도록 Pip-compile 에코시스템을 구성하려면 다음 구성 방법을 사용할 수 있습니다.

옵션 1

dependabot.yml 파일에서 true와 같이 replaces-base을 설정합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

옵션 2

dependabot.yml 파일에서 개인 레지스트리 구성을 정의하세요. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

참조: 구성 파일에서 replaces-base: true를 제거합니다.

requirements.txt 파일에 개인 레지스트리 URL을 추가하고 리포지토리로 파일을 체크 인하세요.

--index-url https://private_registry_url

Pipenv

개인 레지스트리에만 액세스하도록 Pipenv를 구성하려면 dependabot.yml 파일에서 replaces-base을 제거합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

참조: 구성 파일에서 replaces-base: true를 제거합니다.

Pipfile 파일의 [[source]] 섹션에 개인 레지스트리 URL을 추가하고 리포지토리로 파일을 체크 인하세요.

[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"

Poetry

개인 레지스트리에만 액세스하도록 Poetry를 구성하려면 dependabot.yml 파일에서 true와 같이 replaces-base을 설정합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

pyproject.toml 파일의 [[tool.poetry.source]] 섹션에 개인 레지스트리 URL을 추가하고 리포지토리로 파일을 체크 인하세요.

[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true