보안 업데이트에 대한 끌어오기 요청 사용자 지정 정보
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
로 설정합니다.
그런 다음 보안 업데이트에 대한 요구 사항과 우선 순위를 고려하고 아래에 설명된 사용자 지정 옵션의 조합을 적용할 수 있습니다.
의미 있는 업데이트 우선 순위 지정
의미 있는 업데이트를 우선시하는 좀 더 타겟팅된 검토 프로세스를 만들려면 groups
을 (를) 사용하여 여러 종속성에 대한 보안 업데이트를 단일 끌어오기 요청으로 결합합니다.
자세한 지침은 의미 있는 업데이트 우선 순위 지정을 참조하세요.
검토자 및 담당자 자동 추가
프로젝트의 보안 업데이트가 적절한 팀에 의해 적시에 처리되도록 하려면 reviewers
및 assignees
을(를) 사용하여 개인이나 팀을 끌어오기 요청에 검토자 또는 담당자로 자동으로 추가합니다.
자세한 지침은 검토자 및 담당자 자동 추가를 참조하세요.
사용자 지정 레이블을 사용하여 끌어오기 요청 레이블 지정
특정 끌어오기 요청의 우선순위를 지정하거나 이를 CI/CD 파이프라인에 통합하려면 labels
을(를) 사용하여 각 끌어오기 요청에 고유한 사용자 지정 레이블을 적용합니다.
자세한 지침은 사용자 지정 레이블로 끌어오기 요청 레이블 지정을 참조하세요.
메시지를 커밋하는 접두사 추가
커밋 메시지나 끌어오기 요청 제목을 처리하는 자동화와 통합하려면 commit-message
을(를) 사용하여 커밋 메시지와 끌어오기 요청 제목에 사용할 접두사를 지정합니다.
자세한 지침은 커밋 메시지에 접두사 추가를 참조하세요.
끌어오기 요청을 마일스톤과 연결
프로젝트 목표 또는 릴리스에 대한 진행 상황을 추적하려면 milestone
을(를) 사용하여 Dependabot의 끌어오기 요청을 마일스톤과 연결합니다.
자세한 지침은 마일스톤과 끌어오기 요청 연결을 참조하세요.
끌어오기 요청 분기 이름의 구분 기호 변경
분기 이름이 팀의 기존 규칙과 일치하도록 하려면 pull-request-branch-name.separator
을(를) 사용하여 Dependabot에서 분기 이름에 사용할 구분 기호를 지정합니다.
자세한 지침은 끌어오기 요청 분기 이름의 구분 기호 변경을 참조하세요.
예제 1: 보안 업데이트에 대한 구성만
이 예제에서 dependabot.yml
파일은 다음과 같습니다.
- npm 종속성에 대한 업데이트에 프라이빗 레지스트리를 사용합니다.
- 모든 사용자 지정이 보안 업데이트에만 적용되도록 종속성에 대한 버전 업데이트를 사용하지 않도록 설정합니다.
- Dependabot이 사용자 지정 레이블을 끌어오기 요청에 적용하고 검토자와 담당자를 자동으로 추가하도록 사용자 지정됩니다.
- Golang 종속성에 대한 보안 업데이트를 단일 끌어오기 요청으로 그룹화합니다.
# Example configuration file that: # - Uses a private registry for npm updates # - Ignores lodash dependency # - Disables version-updates # - Applies custom labels # - Adds reviewers and assignees # - Group security updates for golang dependencies into a single pull request 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" - package-ecosystem: "gomod" groups: # Group security updates for golang dependencies # into a single pull request golang: applies-to: security-updates patterns: - "golang.org*"
# Example configuration file that:
# - Uses a private registry for npm updates
# - Ignores lodash dependency
# - Disables version-updates
# - Applies custom labels
# - Adds reviewers and assignees
# - Group security updates for golang dependencies into a single pull request
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"
- package-ecosystem: "gomod"
groups:
# Group security updates for golang dependencies
# into a single pull request
golang:
applies-to: security-updates
patterns:
- "golang.org*"
예제 2: 버전 업데이트 및 보안 업데이트 구성
이 예제에서 dependabot.yml
파일은 다음과 같습니다.
- Dependabot이 버전 업데이트와 보안 업데이트 모두에 검토자와 사용자 지정 레이블을 추가하도록 사용자 지정됩니다.
groups
사용자 지정 옵션을 사용하여 여러 업데이트를 단일 끌어오기 요청으로 그룹화하기 위해 두 개의 그룹("angular
" 및 "production-dependencies
")을(를) 만듭니다.angular
에 대한groups
사용자 지정이 보안 업데이트에만 적용되도록 지정합니다.production-dependencies
에 대한groups
사용자 지정이 버전 업데이트에만 적용되도록 지정합니다.
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" groups: angular: # Group security updates for Angular dependencies into a single pull request applies-to: security-updates patterns: - "@angular*" production-dependencies: # Group version updates for dependencies of type "production" into a single pull request applies-to: version-updates dependency-type: "production"
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"
groups:
angular:
# Group security updates for Angular dependencies into a single pull request
applies-to: security-updates
patterns:
- "@angular*"
production-dependencies:
# Group version updates for dependencies of type "production" into a single pull request
applies-to: version-updates
dependency-type: "production"