Skip to main content

프로세스에 맞게 Dependabot 끌어오기 요청 사용자 지정

Dependabot 끌어오기 요청을 사용자 교유의 내부 워크플로에 더 잘 맞게 조정하는 방법을 알아봅니다.

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

Users with write access

Dependabot 끌어오기 요청을 내부 프로세스에 더 잘 맞도록 사용자 지정하는 다양한 방법이 있습니다.

예시:

  • 효율성을 극대화하기 위해 Dependabot은 특정 패키지 에코시스템에 대한 끌어오기 요청에 특정 개인이나 팀을 자동으로 검토자로 추가할 수 있습니다.
  • Dependabot의 끌어오기 요청을 CI/CD 파이프라인에 통합하려면 끌어오기 요청에 사용자 지정 레이블을 적용한 다음 작업 워크플로를 트리거하는 데 사용할 수 있습니다.

패키지 에코시스템별로 조합하여 사용할 수 있는 여러 가지 사용자 지정 옵션이 있습니다.

검토자 및 담당자 자동 추가

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

그러나 해당 패키지 에코시스템에 대한 전문 지식을 갖춘 특정 개인이나 팀이 끌어오기 요청을 지속적으로 검토하고 처리하거나, 지정된 보안 팀에 자동으로 할당하려고 할 수 있습니다. 이 경우 reviewersassignees을(를) 사용하여 패키지 에코시스템당 이러한 값을 설정할 수 있습니다.

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

  • 끌어오기 요청에 자동으로 검토자로 추가된 팀("my-org/team-name") 및 개인("octocat")
  • 개인("user-name")이 끌어오기 요청에 자동으로 할당되었습니다.
YAML
# `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 assignees
    assignees:
      - "user-name"

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

assigneesreviewers도 참조하세요.

사용자 지정 레이블을 사용하여 끌어오기 요청 레이블 지정

기본적으로 Dependabot은 dependencies 레이블을 사용하여 모든 끌어오기 요청을 발생시킵니다.

둘 이상의 패키지 관리자가 정의된 경우 Dependabot은 각 끌어오기 요청에 추가 레이블을 포함합니다. 이는 끌어오기 요청이 어떤 언어나 에코시스템을 업데이트하는지 나타냅니다. 예를 들어, Gradle 업데이트에는 java을(를) 추가하고, git 하위 모듈 업데이트에는 submodules을(를) 추가합니다.

Dependabot 은 리포지토리에 아직 없는 경우 끌어오기 요청에 적용되는 기본 레이블을 만듭니다. 사용자 지정 레이블을 사용하려면 직접 만들어야 합니다. 자세한 내용은 레이블 관리을(를) 참조하세요.

labels을(를) 사용하면 기본 레이블을 재정의하고 패키지 에코시스템당 사용자 지정 레이블을 지정할 수 있습니다. 예를 들어 다음을 수행하려는 경우에 유용합니다.

  • 레이블을 사용하여 특정 끌어오기 요청에 우선 순위를 할당합니다.
  • 레이블을 사용하여 프로젝트 보드에 끌어오기 요청을 자동으로 추가하는 등의 다른 워크플로를 트리거합니다.

아래의 예시 dependabot.yml 파일은 npm에 대한 버전 및 보안 업데이트로 열린 모든 끌어오기 요청에 사용자 지정 레이블이 있도록 npm 구성을 변경합니다.

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

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

labels을 참조하세요.

메시지를 커밋하는 접두사 추가

기본적으로 Dependabot은 커밋 메시지 기본 설정을 검색하고 유사한 패턴을 사용하려고 합니다. 또한 Dependabot은 커밋 메시지를 기반으로 끌어오기 요청의 제목을 채웁니다.

특정 패키지 에코시스템에 대한 Dependabot의 커밋 메시지(및 끌어오기 요청 제목)에 고유한 접두사를 지정할 수 있습니다. 예를 들어, 커밋 메시지나 끌어오기 요청 제목을 처리하는 자동화를 실행하는 경우 이 기능이 유용할 수 있습니다.

기본 설정을 명시적으로 지정하려면 다음 지원 옵션과 함께 commit-message을(를) 사용합니다.

  • prefix:
    • 모든 커밋 메시지의 접두사를 지정합니다.
    • 접두사는 끌어오기 요청 제목의 시작 부분에도 추가됩니다.
  • prefix-development:
    • 패키지 관리자나 에코시스템에서 정의한대로 개발 종속성을 업데이트하는 모든 커밋 메시지에 대한 별도의 접두사를 지정합니다.
    • bundler, composer, mix, maven, npm, 및 pip에 대해 지원됨
  • include: "scope":
    • 커밋에서 업데이트되는 종속성 유형(deps 또는 deps-dev)이 접두사 뒤에 오도록 지정합니다.

아래 예제에서는 패키지 에코시스템별로 조정된 몇 가지 다양한 옵션을 보여줍니다.

YAML
# Customize commit messages

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    commit-message:
      # Prefix all commit messages with "npm: "
      prefix: "npm"

  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
    commit-message:
      # Prefix all commit messages with [docker] " (no colon, but a trailing whitespace)
      prefix: [docker] "

  - package-ecosystem: "composer"
    directory: "/"
    schedule:
      interval: "weekly"
    # Prefix all commit messages with "Composer" plus its scope, that is, a
    # list of updated dependencies
    commit-message:
      prefix: "Composer"
      include: "scope"

  - package-ecosystem: "pip"
    directory: "/"
    schedule:
      interval: "weekly"
    # Include a list of updated dependencies
    # with a prefix determined by the dependency group
    commit-message:
      prefix: "pip prod"
      prefix-development: "pip dev"

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

commit-message을 참조하세요.

끌어오기 요청을 마일스톤과 연결

마일스톤은 프로젝트 목표나 릴리스에 대한 끌어오기 요청(또는 문제) 그룹의 진행률을 추적하는 데 도움이 됩니다. Dependabot을 사용하면 milestone 옵션을 사용하여 종속성 업데이트에 대한 끌어오기 요청을 특정 마일스톤과 연결할 수 있습니다.

해당 레이블이 아닌 마일스톤의 숫자 식별자를 지정해야 합니다. 숫자 식별자를 찾으려면 milestone 뒤에 있는 페이지 URL의 마지막 부분을 확인합니다. 예를 들어, https://github.com/<org>/<repo>/milestone/3의 경우 "3"은(는) 마일스톤의 숫자 식별자입니다.

YAML
# Specify a milestone for pull requests

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    # Associate pull requests with milestone "4"
    milestone: 4

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

milestones마일스톤 정보도 참조하세요.

끌어오기 요청 분기 이름의 구분 기호 변경

Dependabot은 각 끌어오기 요청에 대한 분기를 생성합니다. 각 분기 이름에는 dependabot이(가) 포함되며, 패키지 관리자 이름과 업데이트할 종속성도 포함됩니다. 기본적으로 분기 이름의 이러한 부분은 / 기호로 구분됩니다(예:).

  • dependabot/npm_and_yarn/next_js/acorn-6.4.1

기존 프로세스와의 지원 가능성 또는 일관성을 유지하려면 분기 이름이 팀의 기존 규칙에 부합하는지 확인해야 할 수 있습니다. 이 경우 _, / 또는 "-"을(를) 선택하고, pull-request-branch-name.separator을(를) 사용하여 다른 구분 기호를 지정할 수 있습니다.

아래 예제에서 npm 구성은 기본 구분 기호를 /에서 "-"로 변경하여 다음과 같이 표시되도록 했습니다.

  • 기본값(/): dependabot/npm_and_yarn/next_js/acorn-6.4.1
  • 사용자 지정된("-"): dependabot-npm_and_yarn-next_js-acorn-6.4.1

하이픈 기호("-")는 따옴표로 묶어야 빈 YAML 목록을 시작하는 것으로 해석되지 않습니다.

YAML
# Specify a different separator for branch names

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    pull-request-branch-name:
      # Change the default separator (/) to a hyphen (-)
      separator: "-"

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

pull-request-branch-name.separator을 참조하세요.

기본 분기가 아닌 분기에 대한 끌어오기 요청 대상 지정

기본적으로 Dependabot은 기본 분기의 매니페스트 파일을 확인하고 이 분기에 대해 업데이트 끌어오기 요청을 생성합니다.

일반적으로 기본 분기에서 Dependabot의 검사 및 업데이트를 유지하는 것이 가장 합리적입니다. 그러나 다른 대상 분기를 지정해야 하는 경우가 있을 수 있습니다. 예를 들어, 팀의 프로세스에서 비프로덕션 분기에서 업데이트를 먼저 테스트하고 유효성을 검사해야 하는 경우 target-branch을(를) 사용하여 Dependabot에 대해 다른 분기를 지정하여 끌어오기 요청을 발생시킬 수 있습니다.

Note

Dependabot는 기본 분기에 대해서만 보안 업데이트에 대한 끌어오기 요청을 발생시킵니다. target-branch을(를) 사용하면 해당 패키지 관리자의 모든 구성 설정은 버전 업데이트에만 적용되고 보안 업데이트에는 적용되지 않습니다.

YAML
# Specify a non-default branch for pull requests for pip

version: 2
updates:
  - package-ecosystem: "pip"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise pull requests for version updates
    # to pip against the `develop` branch
    target-branch: "develop"
    # Labels on pull requests for version updates only
    labels:
      - "pip dependencies"

  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
      # Check for npm updates on Sundays
      day: "sunday"
    # Labels on pull requests for security and version updates
    labels:
      - "npm dependencies"

target-branch을 참조하세요.