보안 업데이트에 대한 끌어오기 요청 사용자 지정 정보
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
로 설정합니다.
그런 다음 보안 업데이트에 대한 요구 사항과 우선 순위를 고려하고 아래에 설명된 사용자 지정 옵션의 조합을 적용할 수 있습니다.
검토자 및 담당자 자동 추가
프로젝트의 보안 업데이트가 적절한 팀에 의해 적시에 처리되도록 하려면 reviewers
및 assignees
을(를) 사용하여 개인이나 팀을 끌어오기 요청에 검토자 또는 담당자로 자동으로 추가합니다.
자세한 지침은 검토자 및 담당자 자동 추가를 참조하세요.
사용자 지정 레이블을 사용하여 끌어오기 요청 레이블 지정
특정 끌어오기 요청의 우선순위를 지정하거나 이를 CI/CD 파이프라인에 통합하려면 labels
을(를) 사용하여 각 끌어오기 요청에 고유한 사용자 지정 레이블을 적용합니다.
자세한 지침은 사용자 지정 레이블로 끌어오기 요청 레이블 지정을 참조하세요.
메시지를 커밋하는 접두사 추가
커밋 메시지나 끌어오기 요청 제목을 처리하는 자동화와 통합하려면 commit-message
을(를) 사용하여 커밋 메시지와 끌어오기 요청 제목에 사용할 접두사를 지정합니다.
자세한 지침은 커밋 메시지에 접두사 추가를 참조하세요.
끌어오기 요청을 마일스톤과 연결
프로젝트 목표 또는 릴리스에 대한 진행 상황을 추적하려면 milestone
을(를) 사용하여 Dependabot의 끌어오기 요청을 마일스톤과 연결합니다.
자세한 지침은 마일스톤과 끌어오기 요청 연결을 참조하세요.
끌어오기 요청 분기 이름의 구분 기호 변경
분기 이름이 팀의 기존 규칙과 일치하도록 하려면 pull-request-branch-name.separator
을(를) 사용하여 Dependabot에서 분기 이름에 사용할 구분 기호를 지정합니다.
자세한 지침은 끌어오기 요청 분기 이름의 구분 기호 변경을 참조하세요.
예제 1: 보안 업데이트에 대한 구성만
이 예제에서 dependabot.yml
파일은 다음과 같습니다.
- npm 종속성에 대한 업데이트에 프라이빗 레지스트리를 사용합니다.
- 모든 사용자 지정이 보안 업데이트에만 적용되도록 종속성에 대한 버전 업데이트를 사용하지 않도록 설정합니다.
- Dependabot이 사용자 지정 레이블을 끌어오기 요청에 적용하고 검토자와 담당자를 자동으로 추가하도록 사용자 지정됩니다.
# 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"
# 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이 버전 업데이트와 보안 업데이트 모두에 검토자와 사용자 지정 레이블을 추가하도록 사용자 지정됩니다.
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"
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"