Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

Dependabot 버전 업데이트 구성

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

이 기능을 사용할 수 있는 사용자

People with write permissions to a repository can enable or disable Dependabot version updates for the repository.

**참고:** Dependabot 보안 및 버전 업데이트는 현재 퍼블릭 베타로 제공되며 변경될 수 있습니다.

참고: 이 기능을 사용하려면 먼저 사이트 관리자가 GitHub Enterprise Server 인스턴스에 대해 Dependabot updates을(를) 설정해야 합니다. 자세한 내용은 “엔터프라이즈에 Dependabot 사용”을 참조하세요.

종속성에 대한 버전 업데이트 정보

dependabot.yml 구성 파일을 리포지토리의 .github 디렉터리에 체크 인하여 Dependabot version updates를 사용하도록 설정합니다. 그러면 Dependabot에서 끌어오기 요청을 생성하여 구성한 종속성을 최신 상태로 유지합니다. 업데이트하려는 각 패키지 관리자의 종속성에 대해 패키지 매니페스트 파일의 위치와 해당 파일에 나열된 종속성의 업데이트를 확인하는 빈도를 지정해야 합니다. 보안 업데이트 사용에 대한 자세한 내용은 “Dependabot security updates 구성”을 참조하세요.

버전 업데이트를 처음 사용하면 오래된 종속성이 많을 수 있으며 일부 종속성은 최신 버전보다 많이 이전 버전일 수 있습니다. 사용하면 Dependabot은 즉시 오래된 종속성을 확인합니다. 업데이트를 구성하는 매니페스트 파일의 수에 따라 구성 파일을 추가한 후 몇 분 내에 버전 업데이트에 대한 새 끌어오기 요청이 표시될 수 있습니다. Dependabot은 구성 파일의 후속 변경 내용에 대한 업데이트도 실행합니다.

업데이트가 실패한 후 매니페스트 파일을 변경할 때 Dependabot이 끌어오기 요청을 만들 수도 있습니다. 이는 업데이트 실패를 초래한 종속성 제거와 같은 매니페스트 변경으로 인해 새로 트리거된 업데이트가 성공할 수 있기 때문입니다.

끌어오기 요청을 관리하기 쉽고 검토하기 쉽도록 Dependabot은 최대 5개의 끌어오기 요청을 발생시키고 종속성을 최신 버전으로 가져오기 시작합니다. 다음으로 예약된 업데이트 전에 첫 번째 끌어오기 요청 중 일부를 병합하는 경우 다음 업데이트에서 나머지 끌어오기 요청이 최대치까지 열립니다. open-pull-requests-limit 구성 옵션을 설정하여 열려 있는 끌어오기 요청의 최대 수를 변경할 수 있습니다. 자세한 내용은 “종속성 업데이트 사용자 지정”을 참조하세요.

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

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

Dependabot version updates 사용

dependabot.yml 구성 파일을 리포지토리에 커밋하여 Dependabot version updates을(를) 사용하도록 설정합니다.

  1. 리포지토리의 .github 디렉터리에 dependabot.yml 구성 파일을 만듭니다.
  2. version을 추가합니다.
  3. 필요에 따라 프라이빗 레지스트리에 종속성이 있는 경우 인증 세부 정보가 포함된 registries 섹션을 추가합니다.
  4. Dependabot에서 모니터링할 각 패키지 관리자에 대한 항목이 포함된 updates 섹션을 추가합니다.
  5. 각 패키지 관리자에 대해 다음을 사용합니다.
    • package-ecosystem - 패키지 관리자를 지정합니다.
    • directory - 매니페스트 또는 기타 정의 파일의 위치를 지정합니다.
    • schedule.interval - 새 버전을 확인하는 빈도를 지정합니다.
  6. 리포지토리의 .github 디렉터리에 있는 dependabot.yml 구성 파일을 확인합니다.

모든 구성 옵션에 대한 자세한 내용은 “dependabot.yml 파일에 대한 구성 옵션”을 참조하세요.

예제 dependabot.yml 파일

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

# 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"

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

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

포크에서 버전 업데이트를 사용하도록 설정하려는 경우 추가 단계가 있습니다. dependabot.yml 구성 파일이 있으면 포크에서 버전 업데이트가 자동으로 사용되지 않습니다. 따라서 포크 소유자가 원래 리포지토리에서 dependabot.yml 구성 파일을 포함한 변경 내용을 끌어올 때 의도치 않게 버전 업데이트가 사용되는 경우를 방지할 수 있습니다.

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

  1. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 Insights(인사이트)를 클릭합니다. 기본 리포지토리 탐색 모음의 Insights(인사이트) 탭 3. 왼쪽 사이드바에서 종속성 그래프를 클릭합니다. 왼쪽 사이드바의 종속성 그래프 탭 4. “종속성 그래프”에서 Dependabot 을 클릭합니다. 종속성 그래프, Dependabot 탭
  2. “Dependabot 사용”에서 Dependabot 사용을 클릭합니다.

버전 업데이트 상태 확인

버전 업데이트를 사용하도록 설정하면 리포지토리에 대한 종속성 그래프의 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.yml 파일에 대한 구성 옵션”을 참조하세요.