Skip to main content

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2024-09-25. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 더 뛰어난 성능, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise Server로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

Dependabot 옵션 참조

Dependabot이(가) 리포지토리를 유지 관리하는 방법을 사용자 지정하는 데 사용할 수 있는 모든 옵션에 대한 자세한 정보입니다.

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

Users with write access

dependabot.yml 파일 정보

dependabot.yml 파일은 Dependabot이 버전 업데이트를 사용하여 종속성을 유지하는 방법을 정의합니다. 또한, 아이콘으로 표시된 모든 옵션은 target-branch이(가) 사용된 경우를 제외하고 Dependabot이 보안 업데이트에 대한 끌어오기 요청을 만드는 방식도 변경합니다.

Dependabot 구성 파일인 dependabot.yml은 YAML 구문을 사용합니다. YAML을 처음 사용하며 자세히 알아보려는 경우 5분 안에 YAML 알아보기를 참조하세요.

해당 파일을 리포지토리의 .github 디렉터리에 기본 분기로 저장해야 합니다. dependabot.yml 파일을 추가하거나 업데이트하면 버전 업데이트 즉시 확인이 트리거됩니다. 자세한 내용과 예제는 Dependabot 버전 업데이트 구성을(를) 참조하세요.

Note

Dependabot alerts은 리포지토리 또는 조직의 "설정" 탭에서 구성되었으며 dependabot.yml 파일에서는 구성되지 않았습니다. Dependabot 경고 구성을(를) 참조하세요.

필수 키

위치목적
version최상위 수준사용할 Dependabot 구성 구문입니다. 항상: 2.
updates최상위 수준package-ecosystem을(를) 정의하여 업데이트할 섹션입니다.
package-ecosystemupdates 아래업데이트할 패키지 관리자를 정의합니다.
directorypackage-ecosystem 항목 아래업데이트할 매니페스트나 기타 정의 파일의 위치를 ​​정의합니다.
schedule.intervalpackage-ecosystem 항목 아래버전 업데이트를 찾을지 여부를 정의합니다. daily, weekly 또는 monthly.

필요에 따라 개인 레지스트리에 대한 액세스 세부 정보를 정의하기 위해 최상위 registries 키를 포함할 수도 있습니다. 최상위 registries를 참조하세요.

YAML

# Basic `dependabot.yml` file with
# minimum configuration for two package managers

version: 2
updates:
  # Enable version updates for npm
  - package-ecosystem: "npm"
    # Look for `package.json` and `lock` files in the `root` directory
    directory: "/"
    # Check the npm registry for updates every day (weekdays)
    schedule:
      interval: "daily"

  # Enable version updates for Docker
  - package-ecosystem: "docker"
    # Look for a `Dockerfile` in the `root` directory
    directory: "/"
    # Check for updates once a week
    schedule:
      interval: "weekly"

dependabot.yml 파일의 실제 예를 보려면 Dependabot의 자체 구성 파일을 참조하세요.

allow

패키지 에코시스템에 대해 유지 관리할 종속성을 정확하게 정의하는 데 사용합니다. ignore 옵션과 함께 자주 사용됩니다. 예시는 Dependabot에서 업데이트되는 종속성 제어을(를) 참조하세요.

Dependabot 기본 동작:

  • 매니페스트에 명시적으로 정의된 모든 종속성은 버전 업데이트에 의해 최신 상태로 유지됩니다.
  • 취약한 종속성이 있는 잠금 파일에 정의된 모든 종속성은 보안 업데이트에 의해 업데이트됩니다.

allow이(가) 지정되면 Dependabot은 다음 프로세스를 사용합니다.

  1. 명시적으로 허용된 모든 종속성을 확인합니다.

  2. 그런 다음 무시된 종속성이나 버전을 필터링합니다.

    종속성이 allowignore 문과 일치하는 경우 해당 종속성은 무시됩니다.

매개 변수목적
dependency-name이름이 일치하는 종속성에 대한 업데이트를 허용하며, 선택적으로 *을 사용하여 0개 이상의 문자와 일치시킵니다.
dependency-type특정 유형의 종속성에 대한 업데이트를 허용합니다.

dependency-name(allow)

대부분의 패키지 관리자의 경우 잠금 또는 매니페스트 파일에 지정된 종속성 이름과 일치하는 값을 정의해야 합니다. 일부 시스템에는 더 복잡한 요구 사항이 있습니다.

패키지 관리자형식 필요예시
Gradle 및 MavengroupId:artifactIdorg.kohsuke:github-api
이미지 태그용 Docker리포지토리의 전체 이름<account ID>.dkr.ecr.us-west-2.amazonaws.com/base/foo/bar/ruby:3.1.0-focal-jemalloc의 이미지 태그의 경우 base/foo/bar/ruby을(를) 사용합니다.

dependency-type(allow)

종속성 유형지원하는 패키지 관리자업데이트 허용
direct모두명시적으로 정의된 모든 종속성.
indirectbundler, pip, composer, cargo, gomod직접 종속성의 종속성(하위 종속성 또는 일시적인 종속성이라고도 함)
all모두명시적으로 정의된 모든 종속성. bundler, pip, composer, cargo, gomod의 경우 직접 종속성의 종속성 업데이트도 허용됩니다.
productionbundler, composer, mix, maven, npm, pip(모든 관리자가 아님)패키지 관리자가 프로덕션 종속성으로 정의한 종속성에만 해당합니다.
developmentbundler, composer, mix, maven, npm, pip(모든 관리자가 아님)패키지 관리자가 개발 종속성으로 정의한 종속성에만 해당합니다.

assignees

패키지 에코시스템에 대해 제기된 모든 끌어오기 요청에 대해 개별 담당자를 지정합니다. 예시는 프로세스에 맞게 Dependabot 끌어오기 요청 사용자 지정을(를) 참조하세요.

Dependabot 기본 동작:

  • 끌어오기 요청은 할당자 없이 생성됩니다.

assignees이(가) 정의되는 경우:

  • 버전 업데이트에 대한 모든 끌어오기 요청은 선택한 담당자와 함께 만들어집니다.
  • 보안 업데이트에 대한 모든 끌어오기 요청은 target-branch이(가) 기본이 아닌 분기에 대한 업데이트를 정의하지 않는 한 선택한 담당자를 사용하여 만들어집니다.

담당자는 리포지토리에 대한 쓰기 권한이 있어야 합니다. 조직 소유 리포지토리의 경우 읽기 권한이 있는 조직 구성원도 유효한 담당자입니다.

commit-message

커밋 메시지의 형식을 정의합니다. 끌어오기 요청의 제목은 커밋 메시지를 기반으로 작성되므로 이 설정은 끌어오기 요청의 제목에도 영향을 줍니다. 예시는 프로세스에 맞게 Dependabot 끌어오기 요청 사용자 지정을(를) 참조하세요.

Dependabot 기본 동작:

  • 커밋 메시지는 리포지토리에서 검색된 것과 유사한 패턴을 따릅니다.

commit-message이(가) 정의되는 경우:

  • 모든 커밋 메시지는 정의된 패턴을 따릅니다.
  • 모든 커밋 메시지는 정의된 패턴을 따릅니다. 단, target-branch이(가) 기본이 아닌 분기에 대한 업데이트를 정의한 경우는 예외입니다.
매개 변수목적
prefix모든 커밋 메시지 및 끌어오기 요청 제목에 대한 접두사를 정의합니다.
prefix-development지원되는 시스템에서 개발 종속성 그룹의 종속성을 업데이트하는 커밋에 사용할 다른 접두사를 정의합니다.
include추가 정보가 포함된 커밋 메시지 접두사를 따릅니다.

prefix

  • prefix-development이(가) 정의되지 않은 경우 모든 커밋 메시지에 사용됩니다.
  • 값은 최대 50자까지 가능합니다.
  • Dependabot은 값이 문자, 숫자, 닫는 괄호 또는 닫는 대괄호로 끝날 때 기본 커밋 메시지를 추가하기 전에 접두사 뒤에 콜론을 삽입합니다.
  • 값을 공백 문자로 종료하여 콜론이 추가되는 것을 중지합니다.

prefix-development

지원 공급자: bundler, composer, mix, maven, npmpip.

  • 개발 종속성 그룹의 종속성을 업데이트하는 커밋 메시지에만 사용됩니다.
  • 그렇지 않으면 매개 변수는 prefix 매개 변수와 똑같이 동작합니다.

include

  • scope만 지원합니다.
  • 정의된 경우 커밋에서 업데이트되는 종속성 유형(deps 또는 deps-dev)이 접두사 뒤에 오도록 지정합니다.

directory

필수 옵션입니다. 각 패키지 관리자의 패키지 매니페스트(예: package.json 또는 Gemfile) 위치를 정의하는 데 사용합니다. 이 정보가 없으면 Dependabot에서 버전 업데이트에 대한 끌어오기 요청을 만들 수 없습니다. 예를 들어, 예제 dependabot.yml 파일을 참조하세요.

  • 대부분의 패키지 관리자에 대한 리포지토리의 루트를 기준으로 디렉터리를 정의합니다.
  • GitHub Actions에 대해 / 값을 사용합니다. Dependabot는 /.github/workflows 디렉터리와 루트 디렉터리의 action.yml/action.yaml 파일을 검색합니다.

구성 파일에서 둘 이상의 블록을 사용하여 에코시스템의 단일 대상 분기에 대한 업데이트를 정의해야 하는 경우 모든 값이 고유하고 정의된 디렉터리에 겹치지 않도록 해야 합니다.

enable-beta-ecosystems

현재 사용되지 않습니다.

ignore

allow 옵션과 함께 사용하여 패키지 에코시스템에 대해 어떤 종속성을 유지해야 하는지 정확하게 정의합니다. Dependabot은 허용되는 모든 종속성을 확인한 다음, 무시된 종속성 또는 버전을 필터링합니다. 따라서 허용 및 무시 모두와 일치하는 종속성은 무시됩니다. 예시는 Dependabot에서 업데이트되는 종속성 제어을(를) 참조하세요.

Dependabot 기본 동작:

  • 매니페스트에 명시적으로 정의된 모든 종속성은 버전 업데이트에 의해 최신 상태로 유지됩니다.
  • 취약한 종속성이 있는 잠금 파일에 정의된 모든 종속성은 보안 업데이트에 의해 업데이트됩니다.

ignore이(가) 사용되면 Dependabot은 다음 프로세스를 사용합니다.

  1. 명시적으로 허용된 모든 종속성을 확인합니다.

  2. 그런 다음 무시된 종속성이나 버전을 필터링합니다.

    종속성이 allowignore 문과 일치하는 경우 해당 종속성은 무시됩니다.

매개 변수목적
dependency-name이름이 일치하는 종속성에 대한 업데이트를 무시하고, 선택적으로 *을 사용하여 0개 이상의 문자와 일치시킵니다.
versions특정 버전이나 버전 범위를 무시합니다.
update-types하나 이상의 유의적 버전 관리 수준에 대한 업데이트를 무시합니다. 지원되는 값은 version-update:semver-minor, version-update:semver-patchversion-update:semver-major입니다.

dependency-name(ignore)

대부분의 패키지 관리자의 경우 잠금 또는 매니페스트 파일에 지정된 종속성 이름과 일치하는 값을 정의해야 합니다. 일부 시스템에는 더 복잡한 요구 사항이 있습니다.

패키지 관리자형식 필요예시
Gradle 및 MavengroupId:artifactIdorg.kohsuke:github-api
이미지 태그용 Docker리포지토리의 전체 이름<account ID>.dkr.ecr.us-west-2.amazonaws.com/base/foo/bar/ruby:3.1.0-focal-jemalloc의 이미지 태그의 경우 base/foo/bar/ruby을(를) 사용합니다.

versions(ignore)

특정 버전 또는 버전 범위를 무시하는 데 사용합니다. 범위를 정의하려는 경우 패키지 관리자의 표준 패턴을 사용합니다. 예시:

  • npm: 사용 ^1.0.0
  • 번들러: 사용 ~> 2.0
  • Docker: Ruby 버전 구문 사용
  • NuGet: 사용 7.*

예시는 Dependabot에서 업데이트되는 종속성 제어을(를) 참조하세요.

update-types(ignore)

무시할 유의적 버전(SemVer)을 지정합니다. SemVer는 소프트웨어 패키지 버전을 정의하는 데 허용되는 표준입니다(x.y.z 형식). Dependabot에서는 이 양식의 버전이 항상 major.minor.patch에 있다고 가정합니다.

  • 패치 릴리스를 포함하려면 patch을(를) 사용하세요.
  • minor을(를) 사용하여 부 릴리스를 포함하세요.
  • 주 릴리스를 포함하려면 major을(를) 사용하세요.

insecure-external-code-execution

지원되는 형식: bundler, mixpip

업데이트하는 동안 Dependabot이 매니페스트에서 외부 코드를 실행하도록 허용합니다. 예제는 외부 코드 실행 허용을 참조하세요.

Dependabot 기본 동작:

  • 하나 이상의 레지스트리에 대한 Dependabot 액세스 권한을 부여하면 손상된 패키지로부터 코드를 보호하기 위해 외부 코드 실행이 자동으로 사용하지 않도록 설정됩니다.
  • 코드를 실행하는 기능 없이 버전 업데이트가 실패할 수 있습니다.

insecure-external-code-execution을(를) 허용할 경우:

  • Dependabot은 버전 업데이트 프로세스의 일부로 매니페스트에서 코드를 실행합니다.
  • 해당 코드는 updates설정과 관련된 레지스트리의 패키지 관리자에만 액세스할 수 있습니다. 최상위 registries 구성에 정의된 레지스트리에는 액세스가 허용되지 않습니다.
  • 이렇게 하면 업데이트가 성공할 수 있지만 손상된 패키지가 자격 증명을 도용하거나 구성된 레지스트리에 대한 액세스 권한을 얻도록 허용할 수도 있습니다.

지원되는 값: allow

labels

패키지 관리자에 대해 발생한 모든 끌어오기 요청에 대해 고유한 레이블을 지정합니다. 예시는 프로세스에 맞게 Dependabot 끌어오기 요청 사용자 지정을(를) 참조하세요.

Dependabot 기본 동작:

  • 모든 끌어오기 요청에는 dependencies 레이블이 있습니다.
  • 둘 이상의 패키지 관리자를 정의하는 경우 에코시스템 또는 언어에 대한 추가 레이블이 각 끌어오기 요청에 추가됩니다. 예를 들어, Gradle 업데이트의 경우 java, Git 하위 모듈 업데이트의 경우 submodules입니다.
  • Dependabot은 리포지토리에서 필요에 따라 기본 레이블을 자동으로 만듭니다.

labels이(가) 정의되는 경우:

  • 지정된 레이블은 기본 레이블 대신 사용됩니다.
  • 레이블이 리포지토리에 정의되어 있지 않으면 무시됩니다.
  • labels: [ ]을(를) 사용하여 기본 레이블을 포함한 모든 레이블을 사용하지 않도록 설정할 수 있습니다.

기본이 아닌 분기에서 버전 업데이트를 확인하는 데 target-branch를 사용하지 않는 한 이 옵션을 설정하면 이 패키지 관리자의 매니페스트 파일에 대한 보안 업데이트 끌어오기 요청에도 영향을 줍니다.

milestone

패키지 관리자를 위해 제기된 모든 끌어오기 요청을 마일스톤과 연결합니다. 예시는 프로세스에 맞게 Dependabot 끌어오기 요청 사용자 지정을(를) 참조하세요.

Dependabot 기본 동작:

  • 마일스톤은 사용되지 않습니다.

milestone이(가) 정의되는 경우:

  • 패키지 관리자에 대한 모든 끌어오기 요청이 마일스톤에 추가됩니다.

지원되는 값: 마일스톤의 숫자 식별자입니다.

Tip

마일스톤을 볼 때 milestone 뒤에 있는 페이지 URL의 최종 부분이 식별자입니다. 예는 https://github.com/<org>/<repo>/milestone/3, 마일스톤 진행률 보기을(를) 참조하세요.

open-pull-requests-limit

언제든지 열려 있는 버전 업데이트에 대한 끌어오기 요청의 최대 수에 대한 제한을 변경합니다.

Dependabot 기본 동작:

  • 버전 업데이트가 있는 5개의 끌어오기 요청이 열려 있는 경우 열려 있는 요청 중 일부가 병합되거나 닫힙니다.
  • 보안 업데이트에는 변경할 수 없는 10개의 열린 끌어오기 요청으로 구성된 별도의 내부 제한이 있습니다.

open-pull-requests-limit이(가) 정의되는 경우:

  • Dependabot이 정의된 정수 값까지 끌어오기 요청을 엽니다.
  • 이 옵션을 0으로 설정하면 패키지 관리자의 버전 업데이트를 일시적으로 사용하지 않도록 설정할 수 있습니다. Dependabot version updates 사용하지 않도록 설정하기를 참조하세요.

package-ecosystem

필수 옵션입니다. Dependabot에서 새 버전을 모니터링하려는 각 패키지 관리자에 대해 하나의 package-ecosystem 요소를 정의합니다. 리포지토리에는 각 패키지 관리자에 대한 종속성 매니페스트 또는 잠금 파일도 포함되어야 합니다. 예제 dependabot.yml 파일을 참조하세요.

패키지 관리자YAML 값지원되는 버전
Bundlerbundlerv1, v2
Cargocargov1
작성기composerv1, v2
Dockerdockerv1
16진수mixv1
elm-packageelmv0.19
git 하위모듈gitsubmodule해당 없음
GitHub Actionsgithub-actions해당 없음
Go 모듈gomodv1
Gradlegradle해당 없음
Mavenmaven해당 없음
npmnpmv6, v7, v8, v9
NuGetnuget<= 4.8
pippipv21.1.2
pip-compilepip6.1.0
pipenvpip<= 2021-05-29
pnpmnpmv7, v8
v9(버전 업데이트만 해당)
poetrypipv1
pubpubv2
Terraformterraform>= 0.13, <= 1.8.x
yarnnpmv1, v2, v3

pull-request-branch-name.separator

분기 이름을 생성할 때 사용할 구분 기호를 지정합니다. 예시는 프로세스에 맞게 Dependabot 끌어오기 요청 사용자 지정을(를) 참조하세요.

Dependabot 기본 동작:

  • dependabot/PACKAGE_MANAGER/DEPENDENCY 양식의 분기 이름을 생성합니다.

pull-request-branch-name.separator이(가) 정의되는 경우:

  • / 대신 지정된 문자를 사용하세요.

지원되는 값: "-", _, /

Tip

하이픈 기호는 빈 YAML 목록을 시작하는 것으로 해석되지 않도록 이스케이프되어야 합니다.

rebase-strategy

Dependabot에서 발생한 끌어오기 요청의 자동 재지정을 사용하지 않도록 설정합니다.

Dependabot 기본 동작은 Dependabot이 버전 또는 보안 업데이트 끌어오기 요청의 변경 내용을 검색할 때 열려 있는 끌어오기 요청을 다시 지정하는 것입니다. Dependabot은 다음과 같은 경우 변경 내용을 확인합니다.

  • 일정이 실행되며 버전 업데이트를 확인합니다.
  • 닫은 Dependabot 끌어오기 요청을 다시 엽니다.
  • Dependabot 구성 파일에서 target-branch의 값을 변경하려면 target-branch을(를) 참조하세요.
  • Dependabot 끌어오기 요청은 대상 분기에 최근 푸시한 후 충돌합니다.

rebase-strategydisabled로 설정하면 Dependabot이 끌어오기 요청의 재지정을 중지합니다.

Note

재지정을 사용하지 않도록 설정하기 전에 열려 있던 끌어오기 요청은 열린 후 30일이 지나기 전까지 계속 다시 지정됩니다. 이는 대상 분기와 충돌하는 모든 끌어오기 요청과 버전 업데이트에 대한 모든 끌어오기 요청에 영향을 줍니다.

registries

Dependabot이 더 광범위한 종속성을 업데이트할 수 있도록 프라이빗 패키지 레지스트리에 대한 액세스를 구성합니다. Dependabot에 대한 개인 레지스트리 액세스 구성Dependabot의 개인 레지스트리 구성에 대한 지침을(를) 참조하세요.

dependabot.yml 파일에는 registries 키를 사용할 수 있는 2개의 위치가 있습니다.

  1. 사용하려는 프라이빗 레지스트리와 해당 액세스 정보를 정의하는 최상위 수준에서는 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요.
  2. updates 블록 내에서 각 패키지 관리자가 사용해야 하는 프라이빗 레지스트리를 지정할 수 있습니다.

Dependabot 기본 동작은 공개적으로 액세스할 수 있는 레지스트리에 저장된 종속성을 업데이트하기 위해서만 끌어오기 요청을 발생하도록 하는 것입니다.

Dependabot 구성 파일에 하나 이상의 프라이빗 레지스트리에 대한 액세스를 정의하는 최상위 registries 섹션이 있는 경우 각 package-ecosystem을(를) 구성하여 이러한 프라이빗 레지스트리 중 하나 이상을 사용할 수 있습니다.

패키지 관리자에 대해 registries이(가) 정의된 경우:

  • 패키지 관리자에 대해 지정된 각 프라이빗 레지스트리에서 버전 및 보안 업데이트를 확인합니다.
  • Dependabot은 최상위 registries 섹션에 정의된 액세스 세부 정보를 사용합니다.

지원되는 값: REGISTRY_NAME 또는 "*"

reviewers

패키지 관리자를 위해 제기된 모든 끌어오기 요청에 대해 개별 검토자 또는 검토자 팀을 지정합니다. 예시는 프로세스에 맞게 Dependabot 끌어오기 요청 사용자 지정을(를) 참조하세요.

Dependabot 기본 동작:

  • 끌어오기 요청은 검토자가 할당되지 않고 생성됩니다.

reviewers이(가) 정의되는 경우:

  • 버전 업데이트에 대한 모든 끌어오기 요청은 선택한 검토자를 사용하여 생성됩니다.
  • 보안 업데이트에 대한 모든 끌어오기 요청은 target-branch이 기본이 아닌 분기에 대한 업데이트를 정의하지 않는 한 선택된 검토자에 의해 만들어집니다.

검토자는 적어도 리포지토리에 대한 읽기 권한이 있어야 합니다.

schedule

필수 옵션입니다. interval 매개 변수를 사용하여 구성하는 각 패키지 관리자에 대해 새 버전을 확인하는 빈도를 정의합니다. 필요에 따라 일별 및 주 간격의 경우 Dependabot에서 업데이트를 확인할 때 사용자 지정할 수 있습니다.

매개 변수목적
interval필수입니다. Dependabot의 빈도를 정의합니다.
day주간 간격으로 실행할 요일을 지정하세요.
time실행할 시간을 지정합니다.
timezonetime 값의 표준 시간대를 지정합니다.

interval

지원되는 값: daily, weekly 또는 monthly

각 패키지 관리자는 일정 간격을 정의해야 합니다.

  • daily을(를) 사용하면 월요일부터 금요일까지 매주 요일에 실행할 수 있습니다.
  • weekly을(를) 사용하면 일주일에 한 번(기본값은 월요일)에 실행됩니다.
  • 매월 1일에 실행하려면 monthly을(를) 사용하세요.

기본적으로 Dependabot은 구성 파일에서 모든 업데이트를 적용하는 시간을 임의로 할당합니다. timetimezone 매개 변수를 사용하여 모든 간격에 대한 특정 런타임을 설정할 수 있습니다.

day

지원되는 값: monday, tuesday, wednesday, thursday, friday, saturday, 또는 sunday

필요에 따라 패키지 관리자에 대한 주간 업데이트를 주 중 특정 요일에 실행합니다.

time

형식: hh:mm

필요에 따라 특정 시간에 패키지 관리자에 대한 모든 업데이트를 실행합니다. 기본적으로 시간은 UTC로 해석됩니다.

timezone

time 값에 대한 표준 시간대를 지정합니다.

표준 시간대 식별자는 iana가 유지 관리하는 데이터베이스의 시간대와 일치해야 합니다. tz 데이터베이스 표준 시간대 목록을 참조하세요.

target-branch

버전 업데이트를 확인하고 버전 업데이트에 대한 끌어오기 요청을 대상으로 지정할 특정 분기를 정의합니다. 예시는 프로세스에 맞게 Dependabot 끌어오기 요청 사용자 지정을(를) 참조하세요.

Dependabot 기본 동작:

  • Dependabot은 리포지토리에 대한 기본 분기를 사용합니다. 기본 분기 정보를 참조하세요.

target-branch이(가) 정의되는 경우:

  • 대상 분기의 매니페스트 파일만 버전 업데이트를 확인합니다.
  • 버전 업데이트에 대한 모든 끌어오기 요청은 지정된 분기를 대상으로 열립니다.
  • package-ecosystem에 대해 정의된 옵션은 보안 업데이트에 더 이상 적용되지 않습니다. 보안 업데이트는 항상 리포지토리의 기본 분기를 사용하기 때문입니다.

vendor

지원 대상: bundlergomod만.

Dependabot에게 매니페스트 파일에서 정의한 종속성뿐만 아니라 공급업체 종속성을 유지 관리하도록 합니다. 리포지토리 내에 코드를 저장할 때 종속성은 "공급업체에서 제공" 또는 "캐시됨"으로 설명됩니다. bundle cache 설명서go mod vendor 설명서를 참조하세요.

예시는 Dependabot에서 업데이트되는 종속성 제어을(를) 참조하세요.

Dependabot 기본 동작:

  • 매니페스트에 기록된 종속성만 유지하고 번들러에 대해 식별된 잠금 파일만 유지 관리합니다.
  • 매니페스트에 기록된 버전 번호를 업데이트하고 파일을 잠그는 보안 및 버전 업데이트 끌어오기 요청을 발생합니다.
  • Go 모듈의 경우 공급업체의 모든 종속성은 vendor이 사용하도록 설정된 것처럼 자동으로 식별되고 유지 관리됩니다.

vendor이(가) 사용하도록 설정된 경우:

  • Dependabot는 리포지토리의 _vendor/cache_ 디렉토리에 저장된 번들러에 대한 종속성도 유지 관리합니다.
  • 끌어오기 요청에는 경우에 따라 리포지토리에 저장된 종속성에 대한 업데이트가 포함됩니다.

지원되는 값: true 또는 false

versioning-strategy

지원 공급자: bundler, cargo, composer, mix, npm, pip, pub

Dependabot에서 매니페스트 파일을 편집하는 방법을 정의합니다. 예시는 Dependabot에서 업데이트되는 종속성 제어을(를) 참조하세요.

Dependabot 기본 동작:

  • 앱과 라이브러리 종속성을 구분해 보세요.
  • 앱의 경우 항상 최소 버전 요구 사항을 새 버전과 일치하도록 높입니다. increase 전략.
  • 도서관의 경우 가능하면 새 버전과 이전 버전을 모두 포함하도록 버전 요구 사항을 확장합니다. widen 전략.

versioning-strategy이 정의되면, Dependabot은 지정된 전략을 사용합니다.

동작
auto기본 동작
increase항상 새 버전과 일치하도록 최소 버전 요구 사항을 증가시킵니다. 범위가 이미 존재하는 경우 일반적으로 하한만 증가시킵니다.
increase-if-necessary원래 제약 조건이 새 버전을 허용하는 경우 제약 조건을 그대로 두고, 그렇지 않으면 제약 조건을 범프합니다.
lockfile-only잠금 파일을 업데이트하기 위한 끌어오기 요청만 만듭니다. 패키지 매니페스트 변경이 필요한 새 버전은 무시합니다.
widen가능하면 새 버전과 이전 버전을 모두 포함하도록 버전 요구 사항을 확장합니다. 이렇게 하면 일반적으로 허용되는 최대 버전 요구 사항만 증가합니다.

예를 들어, 현재 버전이 1.0.0이고 현재 제약 조건이 ^1.0.0인 경우 다양한 전략은 다음과 같은 업데이트를 발생합니다.

새 버전 1.2.0

  • increase: 새로운 제약 조건 ^1.2.0
  • increase-if-necessary: 새로운 제약 조건 ^1.0.0
  • widen: 새로운 제약 조건 ^1.0.0

새 버전 2.0.0

  • increase: 새로운 제약 조건 ^2.0.0
  • increase-if-necessary: 새로운 제약 조건 ^2.0.0
  • widen: 새로운 제약 조건 >=1.0.0 <3.0.0

Note

사용하는 패키지 관리자가 아직 versioning-strategy 매개 변수 구성을 지원하지 않거나 필요한 값을 지원하지 않는 경우. 전략 코드는 오픈 소스이므로 특정 에코시스템이 새 전략을 지원하도록 하려면 언제든지 https://github.com/dependabot/dependabot-core/에 끌어오기 요청을 제출할 수 있습니다.

최상위 registries

Dependabot이 GitLab 또는 Bitbucket에서 호스팅하는 레지스트리를 포함한 프라이빗 패키지 레지스트리에 액세스하는 데 사용할 수 있는 인증 세부 정보를 지정합니다.

Note

프라이빗 네트워크의 방화벽 뒤에 있는 프라이빗 레지스트리는 다음 에코시스템에서 지원됩니다.

  • Bundler
  • Docker
  • Gradle
  • Maven
  • Npm
  • NuGet
  • Python
  • Yarn

registries 키의 값은 결합형 배열이며, 각 요소는 특정 레지스트리를 식별하는 키와 해당 레지스트리에 액세스하는 데 필요한 설정을 지정하는 결합형 배열 값으로 구성됩니다. 다음 dependabot.yml 파일은 파일의 registries 섹션에 dockerhub로 식별된 레지스트리를 구성한 다음, 파일의 updates 섹션에서 이를 참조합니다.

YAML
# Minimal settings to update dependencies stored in one private registry

version: 2
registries:
  dockerhub: # Define access for a private registry
    type: docker-registry
    url: registry.hub.docker.com
    username: octocat
    password: ${{secrets.DOCKERHUB_PASSWORD}}
updates:
  - package-ecosystem: "docker"
    directory: "/docker-registry/dockerhub"
    registries:
      - dockerhub # Allow version updates for dependencies in this registry
    schedule:
      interval: "monthly"

다음 옵션을 사용하여 액세스 설정을 지정합니다. 레지스트리 설정은 typeurl을 포함해야 하며, 일반적으로 usernamepassword 조합이나 token을 포함해야 합니다.

매개 변수목적
REGISTRY_NAME필수: 레지스트리에 대한 식별자를 정의합니다.
type필수: 레지스트리의 형식을 식별합니다.
인증 세부 정보필수: 인증 세부 정보를 제공하는 데 지원되는 매개 변수는 다양한 유형의 레지스트리에 따라 다릅니다.
url필수: 이 레지스트리의 종속성에 액세스하는 데 사용할 URL입니다. 프로토콜은 선택 사항입니다. 지정하지 않으면 https://가 가정됩니다. Dependabot은 필요에 따라 후행 슬래시를 추가하거나 무시합니다.
replaces-base부울 값이 true인 경우, Dependabot은 해당 에코시스템의 기본 URL이 아닌 지정된 url을(를) 사용하여 종속성을 해결합니다.

비공개 레지스트리를 구성할 때 참고할 권장 사항과 조언, 사용 가능한 옵션에 대한 심층적인 내용은 Dependabot의 개인 레지스트리 구성에 대한 지침을(를) 참조하세요.

type 및 인증 세부 정보

프라이빗 레지스트리에 액세스하기 위한 인증 세부 정보를 제공하는 데 사용되는 매개 변수는 레지스트리 type에 따라 다릅니다.

레지스트리 type필수 인증 매개 변수
composer-repositoryusernamepassword
docker-registryusernamepassword
gitusernamepassword
hex-organizationorganizationkey
hex-repositoryrepoauth-key은(는) 선택적으로 해당 public-key-fingerprint과(와) 함께 사용 가능
maven-repositoryusernamepassword
npm-registryusernamepassword
또는 token
nuget-feedusernamepassword
또는 token
pub-registrytoken
python-indexusernamepassword
또는 token
rubygems-serverusernamepassword
또는 token
terraform-registrytoken

인증에 사용되는 모든 민감한 데이터는 안전하게 저장되어야 하며 해당 보안 위치에서 참조되어야 합니다. Dependabot에 대한 개인 레지스트리 액세스 구성을 (를) 참조하세요.

Tip

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

urlreplaces-base

url 매개 변수는 레지스트리에 액세스할 위치를 정의합니다. 선택적 replaces-base 매개 변수가 활성화된 경우(true), Dependabot은 해당 특정 에코시스템의 기본 URL 대신 url 값을 사용하여 종속성을 확인합니다.