Skip to main content

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

종속성 업데이트 사용자 지정

Dependabot에서 종속성을 유지하는 방법을 사용자 지정할 수 있습니다.

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

People with write permissions to a repository can configure Dependabot for the repository.

참고: 사이트 관리자가 먼저 GitHub Enterprise Server 인스턴스의 Dependabot updates을(를) 설정해야 이 기능을 사용할 수 있습니다. 자세한 내용은 "엔터프라이즈에 Dependabot 사용"을(를) 참조하세요.

엔터프라이즈 소유자가 엔터프라이즈 수준에서 정책을 설정한 경우 Dependabot updates을(를) 사용하거나 사용하지 않도록 설정할 수 없습니다. 자세한 내용은 "엔터프라이즈에 대한 코드 보안 및 분석을 위한 정책 적용"을(를) 참조하세요.

종속성 업데이트 사용자 지정 정보

버전 업데이트를 사용 설정한 후 dependabot.yml 파일에 옵션을 더 추가하여 Dependabot에서 종속성을 유지 관리하는 방법을 사용자 지정할 수 있습니다. 예를 들어 다음과 같이 할 수 있습니다.

  • 버전 업데이트 끌어오기 요청을 열 요일을 지정합니다(schedule.day).
  • 각 패키지 관리자에 대한 검토자, 담당자 및 레이블 설정: reviewers, assigneeslabels).
  • 각 매니페스트 파일의 변경 내용에 대한 버전 관리 전략을 정의합니다(versioning-strategy).
  • 버전 업데이트를 위해 열린 끌어오기 요청의 최대 개수를 기본값인 5개에서 변경합니다(open-pull-requests-limit).
  • 기본 분기 대신 특정 분기를 대상으로 하는 버전 업데이트 끌어오기 요청을 엽니다(target-branch).

옵션 구성에 대한 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

리포지토리의 dependabot.yml 파일을 업데이트하면 Dependabot에서 새 구성으로 즉시 검사를 실행합니다. 몇 분 내에 Dependabot 탭에 업데이트된 종속성 목록이 표시됩니다. 리포지토리에 많은 종속성이 있는 경우 작업 시간이 더 오래 걸릴 수 있습니다. 버전 업데이트를 위한 새 끌어오기 요청이 표시될 수도 있습니다. 자세한 내용은 "버전 업데이트에 구성된 종속성 나열"을(를) 참조하세요.

구성 변경이 보안 업데이트에 미치는 영향

dependabot.yml 파일을 사용자 지정하는 경우 보안 업데이트에 대해 발생한 끌어오기 요청이 일부 변경되는 것을 볼 수도 있습니다. 해당 끌어오기 요청은 항상 Dependabot 일정이 아닌 종속성에 대한 보안 공지로 트리거됩니다. 그러나 버전 업데이트에 대해 다른 대상 분기를 지정하지 않는 한, dependabot.yml 파일에서 관련 구성 설정을 상속합니다.

예시는 아래의 "사용자 지정 레이블 설정하기"를 참조하세요.

일정 수정

daily 업데이트 일정을 설정하는 경우 기본적으로 Dependabot은 05:00 UTC에 새 버전을 확인합니다. schedule.time을 사용하여 업데이트를 확인할 대체 시간을 지정할 수 있습니다(형식: hh:mm).

아래의 예시 dependabot.yml 파일은 npm 구성을 확장하여 Dependabot에서 종속성에 대한 버전 업데이트를 확인해야 하는 시기를 지정합니다.

# `dependabot.yml` file with
# customized schedule for version updates

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    # Check the npm registry for updates at 2am UTC
    schedule:
      interval: "daily"
      time: "02:00"

검토자 및 담당자 설정

기본적으로 Dependabot은 검토자나 담당자 없이 끌어오기 요청을 생성합니다.

reviewersassignees를 사용하여 패키지 관리자에 대해 발생한 모든 끌어오기 요청의 검토자와 담당자를 지정할 수 있습니다. 팀을 지정할 때는 팀을 @mentioning하는 것처럼 전체 팀 이름을 사용해야 합니다(조직 포함).

아래의 예시 dependabot.yml 파일은 npm에 대한 버전 및 보안 업데이트로 열린 모든 끌어오기 요청에 검토자 2명과 담당자 1명이 있도록 npm 구성을 변경합니다.

# `dependabot.yml` file with
# reviews and an assignee for all npm pull requests

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise all npm pull requests with reviewers
    reviewers:
      - "my-org/team-name"
      - "octocat"
    # Raise all npm pull requests with an assignee
    assignees:
      - "user-name"

사용자 지정 레이블 설정

기본적으로 Dependabot은 dependencies 레이블을 사용하여 모든 끌어오기 요청을 발생시킵니다. 둘 이상의 패키지 관리자가 정의된 경우 Dependabot은 각 끌어오기 요청에 추가 레이블을 포함합니다. 이는 끌어오기 요청이 업데이트할 언어 또는 에코시스템을 나타냅니다(예: Gradle 업데이트의 경우 java, git 하위 모듈 업데이트의 경우 submodules). Dependabot은 리포지토리에서 필요에 따라 기본 레이블을 자동으로 만듭니다.

labels를 사용하여 기본 레이블을 재정의하고 패키지 관리자에 대해 발생한 모든 끌어오기 요청의 대체 레이블을 지정할 수 있습니다. dependabot.yml 파일에서 새 레이블을 만들 수 없으므로 대체 레이블이 리포지토리에 이미 있어야 합니다.

아래의 예시 dependabot.yml 파일은 npm에 대한 버전 및 보안 업데이트로 열린 모든 끌어오기 요청에 사용자 지정 레이블이 있도록 npm 구성을 변경합니다. 또한 사용자 지정 분기에 대한 버전 업데이트를 확인하고 사용자 지정 분기에 대해 사용자 지정 레이블로 끌어오기 요청을 생성하도록 Docker 구성을 변경합니다. 보안 업데이트가 항상 기본 분기에 대해 수행되므로 보안 업데이트 끌어오기 요청에는 Docker 변경 내용이 영향을 미치지 않습니다.

참고:target-branch에 업데이트할 Dockerfile이 포함되어야 합니다. 그렇지 않으면 이 변경 내용으로 인해 Docker에 버전 업데이트를 사용할 수 없게 됩니다.

# `dependabot.yml` file with
# customized npm configuration

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise all npm pull requests with custom labels
    labels:
      - "npm dependencies"
      - "triage-board"

    # Keep Docker dependencies up to date
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise pull requests for Docker version updates
    # against the "develop" branch. The Docker configuration
    # no longer affects security update pull requests.
    target-branch: "develop"
    # Use custom labels on pull requests for Docker version updates
    labels:
      - "Docker dependencies"
      - "triage-board"

Dependabot version updates에 대한 특정 종속성 무시

프로젝트의 종속성 변경 내용을 채택할 준비가 되지 않은 경우, 버전 업데이트에 대한 끌어오기 요청을 열 때 해당 종속성을 무시하도록 Dependabot을 구성할 수 있습니다. 다음 방법 중 하나를 사용하여 이 작업을 수행할 수 있습니다.

  • dependabot.yml 파일의 종속성에 대한 ignore 옵션을 구성합니다. 이를 사용하여 특정 종속성, 버전과 업데이트 유형에 대한 업데이트를 무시할 수 있습니다. 자세한 내용은 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.
  • 버전 업데이트에 대한 Dependabot 끌어오기 요청에 @dependabot ignore 주석 명령을 사용하세요. 주석 명령을 사용하여 특정 종속성과 버전에 대한 업데이트를 무시할 수 있습니다. 자세한 내용은 "종속성 업데이트에 대한 끌어오기 요청 관리"을(를) 참조하세요.

종속성이나 무시 조건 무시하기를 취소하려는 경우 dependabot.yml 파일에서 무시 조건을 삭제하거나 끌어오기 요청을 다시 열 수 있습니다.

추가 예제

자세한 예시는 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.