Skip to main content

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

Dependabot 버전 업데이트 구성

Dependabot이 사용하는 패키지를 자동으로 업데이트할 수 있도록 리포지토리를 구성할 수 있습니다.

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

Users with write access

엔터프라이즈에서 Dependabot 활성화하기

Dependabot version updates 사용

          `dependabot.yml` 리포지토리에 구성 파일을 커밋하면 Dependabot version updates 기능이 활성화됩니다.
  1. 리포지토리의 dependabot.yml 디렉터리에 .github 구성 파일을 만드세요. 아래 코드 조각을 시작점으로 활용하면 됩니다. For information about the options you can use to customize how Dependabot maintains your repositories, see Dependabot 옵션 참조.

    YAML
    # To get started with Dependabot version updates, you'll need to specify which
    # package ecosystems to update and where the package manifests are located.
    
    version: 2
    updates:
    - package-ecosystem: "" # See documentation for possible values
      directory: "/" # Location of package manifests
      schedule:
        interval: "weekly"
    
  2.        `version`을 추가합니다. 이 키는 필수입니다. 파일은 `version: 2`로 시작해야 합니다.
    
  3. 필요에 따라 프라이빗 레지스트리에 종속성이 있는 경우 인증 세부 정보가 포함된 registries 섹션을 추가합니다. 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요.

  4. Dependabot에서 모니터링할 각 패키지 관리자에 대한 항목이 포함된 updates 섹션을 추가합니다. 이 키는 필수입니다. 이 키를 사용하여 Dependabot이 버전 또는 프로젝트 종속성을 업데이트하는 방법을 구성합니다. 각 항목은 특정 패키지 관리자에 대한 업데이트 설정을 구성합니다. 자세한 내용은 dependabot.yml 파일 정보Dependabot 옵션 참조을(를) 참조하세요.

  5. 각 패키지 관리자에 대해 다음을 사용합니다.

    •     `package-ecosystem` 은 패키지 관리자를 지정합니다. 지원되는 패키지 관리자에 대한 자세한 내용은 [`package-ecosystem`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#package-ecosystem-)를 참조하세요.
      
    •     `directories` 또는 `directory`는 매니페스트나 다른 정의 파일의 위치를 지정합니다. 자세한 내용은 [매니페스트 파일에 대한 여러 위치 정의](/code-security/dependabot/dependabot-version-updates/controlling-dependencies-updated#defining-multiple-locations-for-manifest-files)를 참조하세요.
      
    •     `schedule.interval` 새 버전 확인 빈도를 설정합니다.
      
  6. 리포지토리의 .github 디렉터리에 있는 dependabot.yml 구성 파일을 확인합니다.

예제 dependabot.yml 파일

아래 예제 dependabot.yml 파일은 npm, Docker, GitHub Actions의 세 가지 패키지 관리자에 대한 버전 업데이트를 구성하는 방법을 보여줍니다. 이 파일을 체크 인하면 Dependabot은 기본 분기의 매니페스트 파일에서 오래된 종속성을 확인합니다. 오래된 종속성이 발견되면 기본 분기에 대한 끌어오기 요청이 발생하여 종속성을 업데이트합니다.

YAML
# Basic `dependabot.yml` file with
# minimum configuration for three 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"

  # Enable version updates for GitHub Actions
  - package-ecosystem: "github-actions"
    # Workflow files stored in the default location of `.github/workflows`
    # You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.
    directory: "/"
    schedule:
      interval: "weekly"

위의 예제에서 Docker 종속성이 매우 오래된 경우 종속성이 최신 상태가 될 때까지 daily 일정으로 시작한 다음, 주별 일정으로 다시 줄일 수 있습니다.

포크에서 버전 업데이트 사용

포크에서 버전 업데이트를 사용하도록 설정하려는 경우 추가 단계가 있습니다. dependabot.yml 구성 파일이 있는 경우, 포크에서 버전 업데이트가 자동으로 활성화되지 않습니다. 이렇게 하면 포크를 소유한 사용자가 원래 리포지토리에서 dependabot.yml 구성 파일을 비롯한 변경 사항을 가져올 때, 의도하지 않은 버전 업데이트가 활성화되지 않도록 할 수 있습니다.

또한 포크에서 Dependabot을 사용하도록 명시적으로 설정해야 합니다.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 사이드바의 "Security" 섹션에서 Code security and analysis 를 클릭합니다.

  4. "Code security and analysis"에서 "Dependabot version updates"의 오른쪽에 있는 활성화 를 클릭하여 Dependabot이 버전 업데이트를 시작합니다.

간접 종속성에 대한 업데이트 수신

기본적으로 매니페스트에 명시적으로 정의된 직접 종속성만 Dependabot version updates에 의해 최신 상태로 유지됩니다. 잠금 파일에 정의된 간접 종속성에 대한 업데이트를 받도록 선택할 수 있습니다. 자세한 내용은 Dependabot에서 어떤 종속성이 업데이트되는지 제어하기을(를) 참조하세요.

프라이빗 종속성에 대한 액세스 활성화

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

또한, Dependabot는 모든 패키지 관리자에 대해 비공개 GitHub 종속성을 지원하지 않습니다. 자세한 내용은 Dependabot 지원 에코시스템 및 리포지토리GitHub 언어 지원을(를) 참조하세요.

버전 업데이트 상태 확인

버전 업데이트를 사용하도록 설정하면 리포지토리에 대한 종속성 그래프의 Dependabot 탭이 채워집니다. 이 탭에는 Dependabot이 모니터링하도록 구성된 패키지 관리자와 Dependabot이 새 버전을 마지막으로 확인한 시기가 표시됩니다.

종속성 그래프 페이지의 스크린샷. “Dependabot” 탭이 주황색 테두리로 강조 표시됩니다.

자세한 내용은 버전 업데이트에 구성된 종속성 나열을 참조하세요.

Dependabot version updates 사용 안 함

리포지토리에서 dependabot.yml 파일을 삭제하면 버전 업데이트가 완전히 비활성화될 수 있습니다. 하나 이상의 종속성 또는 패키지 관리자에 대해 업데이트를 일시적으로 사용하지 않도록 설정하는 것이 더 일반적입니다.

  • 패키지 관리자: open-pull-requests-limit: 0을 설정하거나 구성 파일에서 관련 package-ecosystem을 주석으로 처리하여 사용하지 않도록 설정합니다.
  • 특정 종속성: 업데이트에서 제외하려는 패키지 또는 애플리케이션에 대해 ignore 특성을 추가하여 사용하지 않도록 설정합니다.

종속성을 사용하지 않도록 설정할 때 와일드카드를 사용하여 관련 라이브러리 집합을 찾을 수 있습니다. 제외할 버전을 지정할 수도 있습니다. 이 기능은 라이브러리 업데이트를 차단하여 API에 대한 호환성이 손상되는 변경을 지원하는 작업을 보류해야 하지만 사용하는 버전에 대한 보안 수정을 가져오려는 경우에 특히 유용합니다.

일부 종속성에 대해 버전 업데이트를 사용하지 않도록 설정하는 예제

아래 예제 dependabot.yml 파일에는 다른 업데이트는 허용하면서 특정 종속성에 대한 업데이트를 사용하지 않도록 설정하는 다양한 방법이 포함되어 있습니다.

# `dependabot.yml` file with updates
# disabled for Docker and limited for npm

version: 2
updates:
  # Configuration for Dockerfile
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
      # Disable all pull requests for Docker dependencies
    open-pull-requests-limit: 0

  # Configuration for npm
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    ignore:
      # Ignore updates to packages that start with 'aws'
      # Wildcards match zero or more arbitrary characters
      - dependency-name: "aws*"
      # Ignore some updates to the 'express' package
      - dependency-name: "express"
        # Ignore only new versions for 4.x and 5.x
        versions: ["4.x", "5.x"]
      # For all packages, ignore all patch updates
      - dependency-name: "*"
        update-types: ["version-update:semver-patch"]

기존 무시 기본 설정 확인에 대한 자세한 내용은 Dependabot 옵션 참조을(를) 참조하세요.