Skip to main content

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

Dependabot 보안 업데이트에 대한 끌어오기 요청 사용자 지정

프로젝트의 보안 우선 순위 및 워크플로에 맞게 보안 업데이트에 대한 Dependabot 끌어오기 요청을 사용자 지정하는 방법을 알아봅니다.

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

Users with write access

보안 업데이트에 대한 끌어오기 요청 사용자 지정 정보

Dependabot에서 보안 업데이트에 대한 끌어오기 요청을 발생시키는 방법을 사용자 지정할 수 있으므로 프로젝트의 보안 우선 순위 및 프로세스에 가장 적합합니다. 예시:

  • 여러 업데이트를 단일 끌어오기 요청에 그룹화하여 의미 있는 업데이트를 우선 순위로 지정하기 위해 Dependabot 끌어오기 옵션을 최적화합니다.
  • 사용자 지정 레이블을 적용하여 기존 워크플로에 Dependabot의 끌어오기 요청을 통합합니다.

버전 업데이트와 마찬가지로 보안 업데이트에 대한 사용자 지정 옵션은 dependabot.yml 파일에 정의되어 있습니다. 버전 업데이트를 위해 dependabot.yml을(를) 이미 사용자 지정한 경우 정의한 구성 옵션 중 대부분이 보안 업데이트에도 자동으로 적용될 수 있습니다. 그러나 주의해야 할 몇 가지 중요한 사항이 있습니다.

  • Dependabot security updates는 버전 업데이트를 위해 dependabot.yml에 설정한 schedule에 따라 실행되는 것이 아니라 항상 보안 공지에 의해 트리거됩니다.
  • Dependabot는 기본 분기에 대해서만 보안 업데이트에 대한 끌어오기 요청을 발생시킵니다. 구성에서 target-branch에 대한 값을 설정하는 경우 해당 패키지 에코시스템에 대한 사용자 지정은 기본적으로 버전 업데이트에만 적용됩니다.

리포지토리에 대한 dependabot.yml 파일을 아직 구성하지 않았고 보안 업데이트에 대한 끌어오기 요청을 사용자 지정하려는 경우 먼저 다음을 수행해야 합니다.

  • 리포지토리의 .github 디렉터리에 dependabot.yml 파일을 체크인합니다. 자세한 내용은 Dependabot 버전 업데이트 구성을(를) 참조하세요.
  • 필요한 모든 키를 설정합니다. 자세한 내용은 필수 키를 참조하세요.
  • 패키지 에코시스템에 대한 사용자 지정을 보안 업데이트에만 적용(버전 업데이트 제외)하려면 open-pull-requests-limit 키를 0로 설정합니다.

그런 다음 보안 업데이트에 대한 요구 사항과 우선 순위를 고려하고 아래에 설명된 사용자 지정 옵션의 조합을 적용할 수 있습니다.

검토자 및 담당자 자동 추가

프로젝트의 보안 업데이트가 적절한 팀에 의해 적시에 처리되도록 하려면 reviewersassignees을(를) 사용하여 개인이나 팀을 끌어오기 요청에 검토자 또는 담당자로 자동으로 추가합니다.

자세한 지침은 검토자 및 담당자 자동 추가를 참조하세요.

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

특정 끌어오기 요청의 우선순위를 지정하거나 이를 CI/CD 파이프라인에 통합하려면 labels을(를) 사용하여 각 끌어오기 요청에 고유한 사용자 지정 레이블을 적용합니다.

자세한 지침은 사용자 지정 레이블로 끌어오기 요청 레이블 지정을 참조하세요.

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

커밋 메시지나 끌어오기 요청 제목을 처리하는 자동화와 통합하려면 commit-message을(를) 사용하여 커밋 메시지와 끌어오기 요청 제목에 사용할 접두사를 지정합니다.

자세한 지침은 커밋 메시지에 접두사 추가를 참조하세요.

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

프로젝트 목표 또는 릴리스에 대한 진행 상황을 추적하려면 milestone을(를) 사용하여 Dependabot의 끌어오기 요청을 마일스톤과 연결합니다.

자세한 지침은 마일스톤과 끌어오기 요청 연결을 참조하세요.

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

분기 이름이 팀의 기존 규칙과 일치하도록 하려면 pull-request-branch-name.separator을(를) 사용하여 Dependabot에서 분기 이름에 사용할 구분 기호를 지정합니다.

자세한 지침은 끌어오기 요청 분기 이름의 구분 기호 변경을 참조하세요.

예제 1: 보안 업데이트에 대한 구성만

이 예제에서 dependabot.yml 파일은 다음과 같습니다.

  • npm 종속성에 대한 업데이트에 프라이빗 레지스트리를 사용합니다.
  • 모든 사용자 지정이 보안 업데이트에만 적용되도록 종속성에 대한 버전 업데이트를 사용하지 않도록 설정합니다.
  • Dependabot이 사용자 지정 레이블을 끌어오기 요청에 적용하고 검토자와 담당자를 자동으로 추가하도록 사용자 지정됩니다.
YAML
# Example configuration file that:
#  - Uses a private registry for npm updates
#  - Ignores lodash dependency
#  - Disables version-updates
#  - Applies custom labels
#  - Adds reviewers and assignees

version: 2
registries:
  # Define a private npm registry with the name `example`
  example:
    type: npm-registry
    url: https://example.com
    token: ${{secrets.NPM_TOKEN}}
updates:
  - package-ecosystem: "npm"
    directory: "/src/npm-project"
    schedule:
      interval: "daily"
    # For Lodash, ignore all updates
    ignore:
      - dependency-name: "lodash"
    # Disable version updates for npm dependencies
    open-pull-requests-limit: 0
    registries:
      # Ask Dependabot to use the private registry for npm
      - example
    # Raise all npm pull requests for security updates with custom labels
    labels:
      - "npm dependencies"
      - "triage-board"
    # Raise all npm pull requests for security updates with reviewers
    reviewers:
      - "my-org/team-name"
      - "octocat"
    # Raise all npm pull requests for security updates with assignees
    assignees:
      - "user-name"
  

예제 2: 버전 업데이트 및 보안 업데이트 구성

이 예제에서 dependabot.yml 파일은 다음과 같습니다.

  • Dependabot이 버전 업데이트와 보안 업데이트 모두에 검토자와 사용자 지정 레이블을 추가하도록 사용자 지정됩니다.
YAML
version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
# Raise all npm pull requests for security and version updates with custom labels
    labels:
      - "npm dependencies"
      - "triage-board"
    # Raise all npm pull requests for security and version updates with reviewers
    reviewers:
      - "my-org/team-name"
      - "octocat"

추가 참고 자료