Skip to main content

Dependabot의 개인 레지스트리 구성에 대한 지침

이 문서에는 개인 레지스트리 구성에 대한 자세한 정보와 함께 명령 줄에서 실행하여 패키지 관리자를 로컬로 구성할 수 있는 명령이 포함되어 있습니다.

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

쓰기 권한이 있는 사용자

Dependabot에 대한 개인 레지스트리 구성 정보

이 문서에는 Dependabot을(를) 구성하여 개인 레지스트리에 액세스하는 데 도움이 되는 권장 사항 및 권장 사항이 포함되어 있습니다:

  • 각 패키지 관리자에 대한 dependabot.yml 구성 파일의 자세한 코드 조각입니다.
  • 중요한 제한 사항 또는 주의 사항입니다.
  • 구성이 작동 중인지 테스트하는 방법을 설명하는 단계입니다.
  • 필요한 경우 추가 구성 옵션(예: npm에는 설정이 필요한 구성 파일이 있음).
  • 레지스트리 호스트 구성에 대한 조언.

다음 패키지 관리자 설정에 대한 자세한 지침을 확인할 수 있습니다.

다음 레지스트리 호스트의 설정에 대한 권장 사항도 확인할 수 있습니다.

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

패키지 관리자 구성

Bundler

Artifactory, Artifacts, Cloudsmith, GitHub Packages 레지스트리, Nexus 및 ProGet에 의해 지원됩니다.

사용자 이름과 암호 또는 토큰으로 인증할 수 있습니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"의 rubygems-server을(를) 참조하세요.

사용자 이름 및 암호를 사용하는 dependabot.yml 파일의 코드 조각입니다.

registries:
  ruby-example:
    type: rubygems-server
    url: https://rubygems.example.com
    username: octocat@example.com
    password: ${{secrets.MY_RUBYGEMS_PASSWORD}}

아래 dependabot.yml 파일 코드 조각은 토큰을 사용합니다. GitHub Packages 레지스트리(xyz.pkg.github.com)를 사용하는 이 유형의 레지스트리의 경우 토큰은 실제로 GitHub personal access token(PAT)입니다.

registries:
  ruby-github:
    type: rubygems-server
    url: https://rubygems.pkg.github.com/octocat/github_api
    token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}

참고

GitHub 리포지토리에서 직접 제공된 종속성은 GitHub UI를 통해 Dependabot 리포지토리에 대한 액세스 권한을 부여합니다. Dependabot이(가) 프라이빗 GitHub 종속성에 액세스하도록 허용하는 방법에 대한 자세한 내용은 "Dependabot에서 프라이빗 종속성에 액세스하도록 허용"을 참조하세요.

Cargo

Cargo는 사용자 이름, 비밀번호, 토큰 기반 인증을 지원합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"의 cargo-registry을(를) 참조하세요.

아래 코드 조각은 토큰을 사용하는 dependabot.yml 파일 구성을 보여줍니다.

registries:
  cargo-example:
    type: cargo-registry
    registry: "name-of-your-registry"
    url: https://cargo.cloudsmith.io/foobaruser/test/
    token: "Token ${{secrets.CARGO_TOKEN}}"

프라이빗 레지스트리 https://cargo.cloudsmith.io에 대해 이 구성을 테스트했습니다.

Docker

도커는 레지스트리에 사용자 이름과 암호 사용을 지원합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"의 docker-registry을(를) 참조하세요.

사용자 이름 및 암호를 사용하는 dependabot.yml 파일의 코드 조각입니다.

registries:
  dockerhub:
    type: docker-registry
    url: https://registry.hub.docker.com
    username: octocat
    password: ${{secrets.MY_DOCKERHUB_PASSWORD}}

docker-registry을 통해 정적 AWS 자격 증명을 사용하여 프라이빗 Amazon ECR에서 끌어올 수도 있습니다.

registries:
  ecr-docker:
    type: docker-registry
    url: https://1234567890.dkr.ecr.us-east-1.amazonaws.com
    username: ${{secrets.ECR_AWS_ACCESS_KEY_ID}}
    password: ${{secrets.ECR_AWS_SECRET_ACCESS_KEY}}

주의

Dependabot은(는) OCI(Open Container Initiative) 배포 규격을 구현하는 모든 컨테이너 레지스트리와 함께 작동합니다. 자세한 내용은 https://github.com/opencontainers/distribution-spec/blob/main/spec.md를 참조하세요.

Dependabot은 중앙 토큰 서비스 또는 HTTP 기본 인증을 통해 개인 레지스트리에 대한 인증을 지원합니다. 자세한 내용은 Docker 설명서의 토큰 인증 사양 및 Wikipedia의 기본 액세스 인증을 참조하세요.

제한 사항 및 해결 방법

  • 이미지 이름이 컨테이너 파일, 조타 장치 파일 또는 yaml 파일에서 항상 검출되지는 않을 수 있습니다.
  • 도커 파일은 첫 번째 FROM 지시문에 대한 버전 업데이트만 받을 수 있습니다.
  • 도커 파일은 ARG 지시문으로 지정된 이미지에 대한 업데이트를 받지 않습니다. COPY 지시문에 사용할 수 있는 해결 방법이 있습니다. 자세한 내용은 dependabot/dependabot-core 리포지토리의 "Dependabot에서 COPY Dockerfile 문의 이미지 참조를 무시합니다."를 참조하세요.
  • Dependabot은(는) 다단계 도커 빌드를 지원하지 않습니다. 자세한 내용은 dependabot/dependabot-core 리포지토리의 "Docker 다단계 빌드 지원"을 참조하세요.

Gradle

Dependabot이(가) Gradle을 실행하지 않지만 특정 Gradle 파일에 대한 업데이트를 지원합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"의 "Gradle"을 참조하세요.

Gradle은 maven-repository 레지스트리 유형을 지원합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"의 maven-repository을(를) 참조하세요.

maven-repository 유형은 사용자 이름 및 암호를 지원합니다. 계정이 GitHub 계정인 경우 암호 대신 GitHub personal access token을(를) 사용할 수 있습니다.

registries:
  gradle-artifactory:
    type: maven-repository
    url: https://acme.jfrog.io/artifactory/my-gradle-registry
    username: octocat
    password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
updates:
  - package-ecosystem: "gradle"
    directory: "/"
    registries:
      - gradle-artifactory
    schedule:
      interval: "monthly"

주의

특히 일부 종속성이 빌드 시간 종속성인 경우 종속성 그래프 표시되는 모든 종속성이 표시되지 않을 수 있습니다. 종속성 제출 API을(를) 사용하여 GitHub에 다른 종속성에 대해 알리고 해당 종속성에 대한 보안 업데이트를 받을 수 있습니다. 자세한 내용은 "종속성 제출 API 사용"을(를) 참조하세요.

Maven

메이븐은 사용자 이름과 비밀번호 인증을 지원합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"의 maven-repository을(를) 참조하세요.

registries:
  maven-artifactory:
    type: maven-repository
    url: https://acme.jfrog.io/artifactory/my-maven-registry
    username: octocat
    password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}

계정이 GitHub 계정인 경우 암호 대신 GitHub personal access token을(를) 사용할 수 있습니다.

version: 2
registries:
  maven-github:
    type: maven-repository
    url: https://maven.pkg.github.com/octocat
    username: octocat
    password: ${{secrets.OCTOCAT_GITHUB_PAT}}
updates:
  - package-ecosystem: "maven"
    directory: "/"
    registries:
      - maven-github
    schedule:
      interval: "monthly"

주의

특히 일부 종속성이 빌드 시간 종속성인 경우 종속성 그래프 표시되는 모든 종속성이 표시되지 않을 수 있습니다. 종속성 제출 API을(를) 사용하여 GitHub에 다른 종속성에 대해 알리고 해당 종속성에 대한 보안 업데이트를 받을 수 있습니다. 자세한 내용은 "종속성 제출 API 사용"을(를) 참조하세요.

npm

npm-registry 형식을 사용하여 dependabot.yml 파일의 구성을 정의하거나 지정된 기본 URL을 통해 모든 레지스트리 요청을 보내도록 Dependabot을(를) 구성할 수 있습니다.

구성 파일에서 npm-registry 형식 사용

npm-registry 형식을 사용하여 dependabot.yml 파일에서 개인 레지스트리 구성을 정의할 수 있습니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

아래 dependabot.yml 파일 코드 조각은 토큰을 사용합니다. GitHub Packages 레지스트리(xyz.pkg.github.com)를 사용하는 이 유형의 레지스트리의 경우 토큰은 실제로 GitHub personal access token(PAT)입니다.

registries:
  npm-github:
    type: npm-registry
    url: https://npm.pkg.github.com
    token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}

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

예제 .npmrc 파일의 내용:

registry=https://<private-registry-url>

대신 다음 명령을 사용하여 개인 레지스트리 URL을 기존 .npmrc 파일에 추가할 수 있습니다.

npm config set registry <url>

자세한 내용은 npm 설명서의 레지스트리를 참조하세요.

구성을 단일 종속성 또는 조직으로만 범위를 지정할 수도 있습니다. 이 경우 토큰은 해당 조직에만 유효하며, 동일한 리포지토리에 대해 다른 조직에 대해 다른 토큰을 사용할 수 있습니다.

npm config set @<org-name>:registry <url>

그러면 레지스트리가 있는 '.npmrc'가 생성됩니다.

@<org-name>:registry=https://<private-registry-url>

npm은 replace-registry-host로 잠금 파일에서 개인 레지스트리의 URL을 사용하도록 구성할 수 있습니다. 자세한 내용은 npm 설명서의 replace-registry-host를 참조하세요.

npm config set replace-registry-host "never"

replace-registry-host을 사용하는 경우 개인 레지스트리 URL을 사용하도록 잠금 파일을 다시 생성하기 위해 로컬로 npm install를 실행해야 합니다. Dependabot은(는) 업데이트를 제공할 때 동일한 URL을 사용합니다.

레지스트리가 구성되면 npm login을 실행하여 구성이 올바르고 유효한지 확인할 수도 있습니다. 다시 npm install을 실행하여 새 개인 레지스트리를 사용하도록 잠금 파일을 다시 생성할 수도 있습니다.

프로젝트 package.json와 동일한 디렉토리에 .npmrc 파일을 체크인하고 파일에 환경 변수나 비밀이 포함되어 있지 않은지 확인해야 합니다. monorepo를 사용하는 경우 .npmrc 파일이 프로젝트의 루트 디렉터리에 있어야 합니다.

지정된 기본 URL을 통해 레지스트리 요청을 보내도록 Dependabot을(를) 구성

지정된 기본 URL을 통해 모든 레지스트리 요청을 보내도록 Dependabot을(를) 구성할 수 있습니다. Dependabot이(가) 공용 종속성에 액세스하려면 레지스트리에 요청된 버전의 종속성 복제 복사본이 있거나 종속성을 사용할 수 없는 경우 트래픽이 공용 레지스트리에서 가져올 수 있도록 허용해야 합니다.

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

주의

GitHub 리포지토리에서 직접 제공된 종속성은 GitHub UI를 통해 Dependabot 리포지토리에 대한 액세스 권한을 부여합니다. Dependabot이(가) 프라이빗 GitHub 종속성에 액세스하도록 허용하는 방법에 대한 자세한 내용은 "Dependabot에서 프라이빗 종속성에 액세스하도록 허용"을 참조하세요.

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

https 프로토콜을 사용하여 레지스트리를 구성해야 합니다.

Nuget

Artifactory, Artifacts, Cloudsmith, GitHub Packages 레지스트리, Nexus 및 ProGet에 의해 지원됩니다.

nuget-feed 유형은 사용자 이름 및 암호 또는 토큰을 지원합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"의 nuget-feed을(를) 참조하세요.

registries:
  nuget-example:
    type: nuget-feed
    url: https://nuget.example.com/v3/index.json
    username: octocat@example.com
    password: ${{secrets.MY_NUGET_PASSWORD}}
registries:
  nuget-azure-devops:
    type: nuget-feed
    url: https://pkgs.dev.azure.com/.../_packaging/My_Feed/nuget/v3/index.json
    username: octocat@example.com
    password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}

주의

dependabot.yml 파일에서 토큰을 사용할 수도 있습니다. GitHub Packages 레지스트리(xyz.pkg.github.com)를 사용하는 이 유형의 레지스트리의 경우 토큰은 실제로 GitHub personal access token(PAT)입니다.

registries:
  nuget-azure-devops:
    type: nuget-feed
    url: https://pkgs.dev.azure.com/.../_packaging/My_Feed/nuget/v3/index.json
    token: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}

pub

pub-repository 형식을 사용하여 dependabot.yml 파일에서 개인 레지스트리 구성을 정의할 수 있습니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

registries:
  my-pub-registry:
    type: pub-repository
    url: https://example-private-pub-repo.dev/optional-path
    token: ${{secrets.MY_PUB_TOKEN}}
updates:
  - package-ecosystem: "pub"
    directory: "/"
    schedule:
      interval: "weekly"
    registries:
      - my-pub-registry

참고

GitHub 리포지토리에서 직접 제공된 종속성은 GitHub UI를 통해 Dependabot 리포지토리에 대한 액세스 권한을 부여합니다. Dependabot이(가) 프라이빗 GitHub 종속성에 액세스하도록 허용하는 방법에 대한 자세한 내용은 "Dependabot에서 프라이빗 종속성에 액세스하도록 허용"을 참조하세요.

pub는 URL 및 토큰 인증을 지원합니다. 레지스트리에 사용되는 URL은 pub 호스팅 URL과 일치해야 합니다. 자세한 내용은 github/dart-lang/pub 리포지토리의 호스팅 Pub 리포지토리 사양 버전 2를 참조하세요.

Dependabot은(는) 기본 패키지 레지스트리에 대한 재정의를 지원하지 않습니다. 재정의 및 일부 사용자가 이를 구현할 수 있는 이유에 대한 자세한 내용은 다트 설명서의 기본 패키지 리포지토리 재정의를 참조하세요.

Python

Artifactory, Azure Artifacts, Cloudsmith, Nexus 및 ProGet에 의해 지원됩니다. GitHub Packages 레지스트리가 지원되지 않습니다.

python-index 유형은 사용자 이름 및 암호 또는 토큰을 지원합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"의 python-index을(를) 참조하세요.

registries:
  python-example:
    type: python-index
    url: https://example.com/_packaging/my-feed/pypi/example
    username: octocat
    password: ${{secrets.MY_BASIC_AUTH_PASSWORD}}
registries:
  python-azure:
    type: python-index
    url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
    username: octocat@example.com
    password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
registries:
  python-gemfury:
    type: python-index
    url: https://pypi.fury.io/my_org
    token: ${{secrets.MY_GEMFURY_TOKEN}}

참고

GitHub 리포지토리에서 직접 제공된 종속성은 GitHub UI를 통해 Dependabot 리포지토리에 대한 액세스 권한을 부여합니다. Dependabot이(가) 프라이빗 GitHub 종속성에 액세스하도록 허용하는 방법에 대한 자세한 내용은 "Dependabot에서 프라이빗 종속성에 액세스하도록 허용"을 참조하세요.

url에는 URL, 조직, "피드" 또는 리포지토리가 포함되어야 합니다.

Yarn

Yarn 레지스트리는 npm 레지스트리와 유사한 구성을 사용합니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"의 npm-registry을(를) 참조하세요.

registries:
  yarn-github:
    type: npm-registry
    url: https://npm.pkg.github.com
    token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
  • 개인 레지스트리의 경우 .yarnrc.yml 파일(Yarn 3의 경우) 또는 .yarnrc 파일(Yarn 클래식의 경우)에 체크 인합니다.
  • yarn 구성 파일에는 환경 변수가 포함되어서는 안 됩니다.
  • https를 사용하여 dependabot.yml 파일에 나열된 개인 레지스트리를 구성해야 합니다.

Yarn 클래식

dependabot.yml 파일에서 개인 레지스트리 구성을 지정하거나 표준 패키지 관리자 지침에 따라 Yarn Classic을 설정할 수 있습니다.

dependabot.yml 파일에서 개인 레지스트리 구성 정의

dependabot.yml 파일에서 개인 레지스트리 구성을 정의할 수 있습니다. 자세한 내용은 아래의 “dependentabot.yml 파일 구성 옵션."의 “개인 레지스트리 구성 옵션”을 참조하세요.

프로젝트의 yarn.lock 파일에 개인 레지스트리가 종속성 소스로 나열되도록 하려면 개인 레지스트리 액세스 권한이 있는 시스템에서 yarn install를 실행해야 합니다. Yarn은 개인 레지스트리 URL을 포함하도록 확인된 필드를 업데이트해야 합니다.

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"
패키지 관리자의 표준 지침을 따릅니다

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

  1. dependabot.yml 파일에서 개인 레지스트리 구성을 정의합니다.

  2. 다음 중 하나를 수행할 수 있습니다.

    • 키 레지스트리가 있는 프로젝트 루트의 .yarnrc.yml 파일에 레지스트리를 추가하여 .yarnrc 파일에 개인 레지스트리를 수동으로 설정하거나
    • 터미널에서 yarn config set registry <private registry URL>을 실행하여 동일한 작업을 수행합니다.

    개인 레지스트리가 정의된 .yarnrc 예제: registry https://nexus.example.com/repository/yarn-all

Yarn Berry (v3)

구성에 대한 자세한 내용은 Yarn 설명서의 설정(.yarnrc.yml)를 참조하세요.

Yarn 클래식과 마찬가지로, dependabot.yml 파일에서 개인 레지스트리 구성을 지정하거나 표준 패키지 관리자 지침에 따라 Yarn Berry를 설정할 수 있습니다.

dependabot.yml 파일에서 개인 레지스트리 구성 정의

dependabot.yml 파일에서 개인 레지스트리 구성을 정의할 수 있습니다. 자세한 내용은 아래의 “dependentabot.yml 파일 구성 옵션."의 “개인 레지스트리 구성 옵션”을 참조하세요.

프로젝트의 yarn.lock 파일에 개인 레지스트리가 종속성 소스로 나열되도록 하려면 개인 레지스트리 액세스 권한이 있는 시스템에서 yarn install를 실행합니다. Yarn은 개인 레지스트리 URL을 포함하도록 확인된 필드를 업데이트해야 합니다.

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"

npmAuthIdent 또는 npmAuthToken.를 사용하여 개인 레지스트리를 구성할 수도 있습니다. 자세한 내용은 Yarn 설명서의 "npmAuthIdent"와 "npmAuthToken"을 참조하세요.

yarn config set registry <url>

단일 종속성 또는 조직만 포함하도록 구성 범위를 지정할 수 있습니다.

yarn config set @<SCOPE>:registry <url>

마지막으로 구성이 올바르고 유효한지 확인하기 위해 yarn login을 실행하는 것이 좋습니다. 다시 yarn install을 실행하여 새 개인 레지스트리를 사용하도록 잠금 파일을 다시 생성할 수도 있습니다.

패키지 관리자의 표준 지침을 따릅니다

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

  1. dependabot.yml 파일에서 개인 레지스트리 구성을 정의합니다.

  2. 다음 중 하나를 수행할 수 있습니다.

    • npmRegistryServer이 있는 프로젝트 루트의 .yarnrc.yml 파일에 레지스트리를 추가하여 .yarnrc 파일에 개인 레지스트리를 수동으로 설정하거나
    • 터미널에서 yarn config set npmRegistryServer <private registry URL>을 실행하여 동일한 작업을 수행합니다.

    개인 레지스트리가 구성된 .yarnrc.yml 파일의 예: npmRegistryServer: "https://nexus.example.com/repository/yarn-all"

    자세한 내용은 Yarn 설명서의 npmRegistryServer를 참조하세요.

주의

GitHub 리포지토리에서 직접 제공된 종속성은 GitHub UI를 통해 Dependabot 리포지토리에 대한 액세스 권한을 부여합니다. Dependabot이(가) 프라이빗 GitHub 종속성에 액세스하도록 허용하는 방법에 대한 자세한 내용은 "Dependabot에서 프라이빗 종속성에 액세스하도록 허용"을 참조하세요.

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

개인 레지스트리 호스트 구성

Artifactory

아티팩토리의 구성에 대한 자세한 내용은 JFrog Artifactory 설명서에서 아티팩토리 구성을 참조하세요.

원격 리포지토리

원격 리포지토리는 빌드 아티팩트 및 종속성에 대한 캐시 역할을 합니다. 빌드 도구는 글로벌 종속성 리포지토리에 연결할 필요 없이 아티팩트 캐시를 사용할 수 있으므로 빌드 시간이 단축됩니다. 자세한 내용은 JFrog Artifactory 설명서의 원격 리포지토리를 참조하세요.

replace-base 설정을 사용하는 경우 Dependabot이(가) 개인 레지스트리에서 종속성을 찾을 수 없을 때마다 다른 레지스트리에 액세스하도록 하려면 아티팩트에 대한 원격 리포지토리도 구성해야 합니다.

가상 레지스트리

가상 레지스트리를 사용하여 단일 도메인 아래의 모든 개인 및 공용 종속성을 그룹화할 수 있습니다. 자세한 내용은 JFrog Artifactory 설명서의 npm 레지스트리를 참조하세요.

Azure Artifacts

Azure Artifacts와 함께 작동하도록 Dependabot을(를) 구성하는 방법에 대한 자세한 내용은 Azure Artifacts 설명서의 Azure DevOpsAzure Artifacts를 사용하여 GitHub에서 Dependabot을 사용하는 방법을 각각 참조하세요.

Azure Artifacts 레지스트리의 예:

registries:
  nuget-azure-devops:
    type: nuget-feed
    url: https://pkgs.dev.azure.com/my_org/_packaging/public/nuget/v3/index.json
    token: ${{secrets.AZURE_DEVOPS_TOKEN}}

Azure Artifacts 암호는 인코딩되지 않은 토큰이어야 하며 토큰 뒤에 :을 포함해야 합니다. 또한 암호는 base64로 인코딩할 수 없습니다.

Dependabot 로그를 확인하여 프라이빗 레지스트리에 성공적으로 액세스했는지 여부를 검사 수 있습니다.

Cloudsmith

Cloudsmith에 대한 정보 및 Cloudsmith에서 작동하도록 Dependabot을(를) 구성하는 방법에 대한 지침은 Cloudsmith로 시작 및 Cloudsmith 설명서의 GitHub Dependabot과 Cloudsmith 통합을 참조하세요.

GitHub Packages 레지스트리

GitHub Packages 레지스트리에 대한 자세한 내용은 "GitHub 패키지 레지스트리 작업"을 참조하십시오 이 문서에서 다음 레지스트리를 구성하는 방법을 설명하는 페이지에 액세스할 수 있습니다.

  • 번들러 (rubygems)
  • 도커 (컨테이너)
  • GitHub Actions
  • Gradle
  • Maven
  • Npm
  • NuGet
  • Yarn
registries:
  github:
    type: npm-registry
    url: https://npm.pkg.github.com
    token: ${{ secrets.<token> }}

주의

Python 컨테이너 레지스트리가 없습니다.

특정 조직의 범위를 지정하는 개인 레지스트리의 경우 Dependabot은(는) URL이 dependabot.yml 파일에 조직 이름을 포함할 것으로 예상합니다.

NEXUS

Nexus의 구성에 대한 자세한 내용은 Sonatype 설명서의 리포지토리 관리자 3을 참조하세요.

주의

Nexus Repository Pro를 사용하면 사용자 토큰을 사용하도록 설정할 수 있습니다. 자세한 내용은 Sonatype 설명서의 사용자 토큰을 참조하세요.

Nexus 레지스트리의 예:

registries:
  npm-nexus:
    type: npm-registry
    url: https://registry.example.com/repository/npm-internal/
    token: ${{secrets.NEXUS_NPM_TOKEN}}

역방향 프록시 뒤에서 Nexus를 실행하는 경우 curl -v -H 'Authorization: Bearer <token>' 'https://<nexus-repo-url>/repository/<repo-name>/@<scope>%2<package>'을 사용하여 Auth 토큰을 사용하여 서버에 액세스할 수 있는지 확인해야 합니다. 자세한 내용은 Sonatype 설명서의 역방향 프록시 뒤에 실행을 참조하세요.

Nexus 호스트에 연결할 수 있는 IP를 제한하는 경우 Dependabot개의 IP를 허용 목록에 추가해야 합니다.

  • Dependabot에서 dependabot 키 아래 메타 API 엔드포인트의 레지스트리에 액세스하는 데 사용하는 IP 주소를 찾을 수 있습니다. 자세한 내용은 "메타 데이터에 대한 REST API 엔드포인트"을(를) 참조하세요.
  • 현재 IP는 다음과 같습니다:

프라이빗 레지스트리에서 종속성을 사용할 수 없는 경우 레지스트리를 프록시하여 공용 레지스트리에 연결할 수 있습니다. 그러나 Dependabot에서 프라이빗 레지스트리에만 액세스하고 공용 레지스트리에 전혀 액세스하지 않도록 할 수 있습니다. 자세한 내용은 Sonatype 설명서의 "빠른 시작 가이드 - Maven 및 NPM 프록시" 및 "공용 레지스트리에 대한 Dependabot 액세스 제거" 항목을 참조하세요.

ProGet

ProGet에 대한 정보 및 ProGet에서 피드를 사용하도록 Dependabot을(를) 구성하는 방법에 대한 지침은 ProGet 설명서를 참조 하세요.

NuGet 피드에 대한 ProGet 레지스트리 구성의 예:

registries:
  proget-nuget-feed:
    type: nuget-feed
    url: https://proget.corp.local/nuget/MyNuGetFeed/v3/index.json
    token: ${{secrets.PROGET_APK_KEY}}

Bundler(rubygems)에 대한 ProGet 레지스트리 구성의 예:

registries:
  proget-gems-feed:
    type: rubygems-server
    url: https://proget.corp.local/rubygems/MyRubygemsFeed
    token: ${{secrets.PROGET_APK_KEY}}

Python(PyPI)에 대한 ProGet 레지스트리 구성의 예:

registries:
  proget-python-feed:
    type: python-index
    url: https://proget.corp.local/pypi/MyPythonFeed
    token: ${{secrets.PROGET_APK_KEY}}

주의

token은(는) 패키지를 볼 수 있는 액세스 권한이 있는 API 키여야 합니다. 자세한 내용은 ProGet 설명서의 API 액세스 및 API 키를 참조하세요.

Dependabot 로그를 확인하여 프라이빗 레지스트리에 성공적으로 액세스했는지 여부를 검사 수 있습니다.