Skip to main content

Dependabot supported ecosystems and repositories

Dependabot supports a variety of ecosystems and repositories

About Dependabot

Dependabot helps you stay on top of your dependency ecosystems. With Dependabot, you can keep the dependencies you rely on up-to-date, addressing any potential security issues in your supply chain.

Dependabot은(는) 종속성 관리에 도움이 되는 세 가지 기능으로 구성됩니다.

  • Dependabot alerts - 리포지토리에서 사용하는 종속성의 취약점을 알려줍니다.
  • Dependabot security updates - 끌어오기 요청을 자동으로 생성하여 알려진 보안 취약성이 있는 종속성을 업데이트합니다.
  • Dependabot version updates - 끌어오기 요청을 자동으로 생성하여 종속성을 최신 상태로 유지합니다.

For more information about Dependabot, see "Dependabot 빠른 시작 가이드."

In this article, you can see what the supported ecosystems and repositories are.

Supported ecosystems and repositories

You can configure updates for repositories that contain a dependency manifest or lock file for one of the supported package managers. For some package managers, you can also configure vendoring for dependencies. For more information, see vendor. Dependabot also supports dependencies in private registries. For more information, see registries.

Note

  • 보안 또는 버전 업데이트를 실행할 때 일부 에코시스템은 원본의 모든 종속성을 확인하여 업데이트에 성공했는지 확인할 수 있어야 합니다. 매니페스트 또는 잠금 파일에 프라이빗 종속성이 포함된 경우 Dependabot은 해당 종속성이 호스트된 위치에 액세스할 수 있어야 합니다. 조직 소유자는 동일한 조직 내 프로젝트의 종속성이 포함된 프라이빗 리포지토리에 대한 액세스 권한을 Dependabot에 부여할 수 있습니다. 자세한 내용은 "조직의 보안 및 분석 설정 관리"을(를) 참조하세요. 리포지토리의 dependabot.yml 구성 파일에서 프라이빗 레지스트리에 대한 액세스를 구성할 수 있습니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.
  • Dependabot doesn't support private GitHub dependencies for all package managers. See the details in the table below.

If your repository already uses an integration for dependency management, you will need to disable this before enabling Dependabot. For more information, see "통합 사용 정보."

다음 표에서는 각 패키지 관리자에 대해 다음을 보여줍니다.

  • dependabot.yml 파일에 사용할 YAML 값
  • 패키지 관리자의 지원되는 버전
  • 프라이빗 GitHub 리포지토리 또는 레지스트리의 종속성이 지원되는지 여부
  • 벤더링된 종속성이 지원되는지 여부
패키지 관리자YAML 값지원되는 버전프라이빗 리포지토리프라이빗 레지스트리벤더링
Bundlerbundlerv1, v2
Cargocargov1
작성기composerv1, v2
개발 컨테이너devcontainers해당 없음
Dockerdockerv1해당 없음
16진수mixv1
elm-packageelmv0.19
git 하위모듈gitsubmodule해당 없음해당 없음
GitHub Actionsgithub-actions해당 없음해당 없음
Go 모듈gomodv1
Gradlegradle해당 없음
Mavenmaven해당 없음
npmnpmv6, v7, v8, v9
NuGetnuget<=6.8.0
pippipv21.1.2
pipenvpip<= 2021-05-29
pip-compilepip6.1.0
pnpmnpmv7, v8, v9
poetrypipv1
pubpubv2
Swiftswiftv5(git에만 해당)
Terraformterraform>= 0.13, <= 1.8.x해당 없음
yarnnpmv1, v2, v3

팁: pipenvpoetry 같은 패키지 관리자의 경우 pip YAML 값을 사용해야 합니다. 예를 들어 poetry를 사용하여 Python 종속성을 관리하고 Dependabot에서 새 버전의 종속성 매니페스트 파일을 모니터링하기를 원하는 경우 dependabot.yml 파일의 package-ecosystem: "pip"를 사용합니다.

Cargo

프라이빗 레지스트리 지원에는 Cargo 레지스트리가 포함되어 있으므로 Dependabot을(를) 사용하여 Rust 종속성을 최신 상태로 유지할 수 있습니다. 자세한 내용은 "Dependabot의 개인 레지스트리 구성에 대한 지침"을 참조하세요.

개발 컨테이너

dependabot.yml 파일에서 devcontainerspackage-ecosystem으로 사용하여 devcontainer.json 구성 파일의 기능을 업데이트할 수 있습니다. 이 지원 및 구성 파일 예제에 대한 자세한 내용은 개발 컨테이너 설명서에서 Dependabot 통합의 일반 공급을 참조하세요.

개발 컨테이너는 Codespaces를 포함하여 여러 도구 및 서비스에서 사용됩니다. 기능 및 지원되는 서비스에 대한 자세한 내용은 개발 컨테이너 설명서의[기능지원 도구 및 서비스](https://containers.dev/implementors/features/)를 각각 참조하세요.

이 업데이트는 연결된 devcontainer.json 파일의 최신 major 버전에 기능이 고정되도록 합니다. 개발 컨테이너에 잠금 파일이 있는 경우 해당 파일도 업데이트됩니다. 잠금 파일 사양에 대한 자세한 내용은 devcontainers/spec 리포지토리의 잠금 파일을 참조하세요.

모든 유효한 개발 컨테이너 위치에서 기능은 단일 끌어오기 요청으로 업데이트됩니다. 개발 컨테이너 사양에 대한 자세한 내용은 개발 컨테이너 설명서의 사양을 참조하세요.

Docker

Dependabot은(는) Docker 이미지의 메타데이터를 추가하여 버전 업데이트 요청을 끌어올 수 있습니다. 메타데이터에는 릴리스 정보, 변경 로그 및 커밋 기록이 포함됩니다. 리포지토리 관리자는 메타데이터를 사용하여 종속성 업데이트의 안정성 위험을 신속하게 평가할 수 있습니다.

Dependabot이(가) Docker 메타데이터를 가져오려면 Docker 이미지의 유지 관리자는 Dockerfile에 org.opencontainers.image.source 레이블을 추가하고 원본 리포지토리의 URL을 포함해야 합니다. 또한 유지 관리자는 게시된 Docker 이미지와 동일한 태그를 사용하여 리포지토리에 태그를 지정해야 합니다. 예제는 dependabot-fixtures/docker-with-source 리포지토리를 참조하세요. Docker 레이블에 대한 자세한 내용은 Docker 설명서의 확장 이미지 레이블BUILDX_GIT_LABELS를 참조하세요.

Dependabot은(는) Kubernetes 매니페스트에서 Docker 이미지 태그를 업데이트할 수 있습니다. Docker 이미지 태그를 참조하는 Kubernetes 매니페스트를 포함하는 각 디렉터리에 대한 dependabot.yml 파일의 Docker package-ecosystem 요소에 항목을 추가합니다. Kubernetes 매니페스트는 Kubernetes 배포 YAML 파일 또는 Helm 차트일 수 있습니다. docker에 대한 dependabot.yml 파일을 구성하는 방법에 대한 자세한 내용은 "dependentabot.yml 파일 구성 옵션"의 "package-ecosystem"을 참조하세요.

Dependabot은(는) 퍼블릭 및 프라이빗 Docker 레지스트리를 모두 지원합니다. 이러한 레지스트리의 목록은 "dependentabot.yml 파일 구성 옵션"의 “docker-registry”를 참조하세요.

Dependabot은(는) 유의적 버전(SemVer)에 대한 Docker 이미지 태그를 구문 분석합니다. If Dependabot이(가) 시험판에서 태그를 검색한 경우 일치하는 시험판을 포함하는 최신 버전으로의 업데이트만 제안하며 다른 시험판 레이블을 사용하는 최신 버전은 제안하지 않습니다. 자세한 내용은 dependabot/dependabot-core 리포지토리에서 dependabot-docker README.md 파일을 참조하세요.

GitHub Actions

Dependabot은 다음과 같은 주의 사항과 함께 GitHub Actions의 버전 업데이트를 지원합니다.

  • Dependabot은(는) % data variables.product.prodname_dotcom %} 리포지토리 구문(예: actions/checkout@v4)을 사용하여 GitHub Actions에 대한 업데이트만 지원합니다. Dependabot은(는) 로컬에서 참조되는 작업 또는 재사용 가능한 워크플로(예: ./.github/actions/foo.yml)를 무시합니다.
  • Docker 허브 및 GitHub Packages Container registry URL은 현재 지원되지 않습니다. 예를 들어 docker:// 구문을 사용하는 Docker 컨테이너 작업에 대한 참조는 지원되지 않습니다.
  • Dependabot은(는) GitHub Actions에 대한 퍼블릭 및 프라이빗 리포지토리를 모두 지원합니다. 프라이빗 레지스트리 구성 옵션은 "dependentabot.yml 파일 구성 옵션"의 "git"를 참조하세요.

GitHub Actions과 함께 Dependabot version updates을 사용하는 방법에 대한 자세한 내용은 "GitHub의 보안 기능을 사용하여 안전하게 GitHub Actions 사용"을(를) 참조하세요.

Gradle

Dependabot은(는) Gradle을 실행하지 않지만 다음 파일에 대한 업데이트를 지원합니다.

  • build.gradle, build.gradle.kts(Kotlin 프로젝트의 경우)
  • gradle/libs.versions.toml(표준 Gradle 버전 카탈로그를 사용하는 프로젝트의 경우)
  • 파일 이름에 dependencies이 있는 apply 선언을 통해 포함된 파일입니다. applyapply to, 재귀 또는 고급 구문(예: 속성에 의해 정의된 파일 이름인 mapOf와 함께 Kotlin의 apply)을 지원하지 않습니다.

Dependabot security updates의 경우 Gradle 지원은 종속성 제출 API을(를) 사용하여 종속성 그래프 데이터의 수동 업로드로 제한됩니다. 종속성 제출 API에 대한 자세한 내용은 "종속성 제출 API 사용" 항목을 참조하세요.

참고:

  • 종속성 제출 API을(를) 사용하여 종속성 그래프에 Gradle 종속성을 업로드하면 종속성 파일에 명시적으로 멘션되지 않은 전환 종속성도 포함한 모든 프로젝트 종속성이 업로드됩니다. 전환 종속성에서 경고가 검색되면 Dependabot은(는) 리포지토리에서 취약한 종속성을 찾을 수 없으므로 해당 경고에 대한 보안 업데이트를 만들지 않습니다.
  • 그러나 Dependabot version updates은(는) 부모 종속성이 프로젝트의 매니페스트 파일에서 직접 종속성으로 명시적으로 선언될 때 끌어오기 요청을 만듭니다.

Maven

Dependabot은(는) Maven을 실행하지 않지만 pom.xml 파일에 대한 업데이트를 지원합니다.

NuGet CLI

Dependabot은(는) NuGet CLI를 실행하지 않지만, 6.8.0 버전까지 대부분의 기능을 지원합니다.

pip 및 pip-compile

Dependabot은(는) requirements.txt 파일 업데이트 지원하는 외에도 PEP 621 표준을 따르는 경우 pyproject.toml 파일에 대한 업데이트를 지원합니다.

pnpm

pnpm은 Dependabot version updates 및 Dependabot security updates에 대해 지원됩니다.

pub

Dependabot은(는) pub를 업데이트하려는 버전이 무시될 경우 이전 버전을 사용할 수 있더라도 업데이트를 수행하지 않습니다.

프라이빗 호스팅 펍 리포지토리를 사용하는 경우 Dependabot을(를) 사용하여 다트 종속성을 최신 상태로 유지할 수 있습니다. Dependabot이(가) 프라이빗 GitHub 종속성에 액세스하도록 허용하는 방법에 대한 자세한 내용은 "Dependabot에서 프라이빗 종속성에 액세스하도록 허용"을 참조하세요.

Swift

프라이빗 레지스트리 지원은 git 레지스트리에만 적용됩니다. Swift 레지스트리는 지원되지 않습니다. 비선언적 매니페스트는 지원되지 않습니다. 비선언적 매니페스트에 대한 자세한 내용은 Swift Evolution 설명서에서 비선언적 매니페스트 편집을 참조하세요.

Terraform

Terraform 지원에는 다음이 포함됩니다.

  • Terraform 레지스트리 또는 공개적으로 연결할 수 있는 Git 리포지토리에서 호스트되는 모듈
  • Terraform 공급자.
  • 비공개 Terraform 레지스트리. dependabot.yml 파일에 git 레지스트리를 지정하여 비공개 git 리포지토리에 대한 액세스를 구성할 수 있습니다. 자세한 내용은 git를 참조하세요.

yarn

Dependabot은 v2 이상에 대한 공급업체 종속성을 지원합니다.