Sobre a personalização de pull requests para atualizações de segurança
Você pode personalizar como o Dependabot gera pull requests para atualizações de segurança, de modo que atendam melhor aos processos e às prioridades de segurança do seu projeto. Por exemplo: * Otimize as pull requests do Dependabot para priorizar atualizações significativas agrupando várias atualizações em uma única pull request.
- Aplique rótulos personalizados para integrar as pull requests do Dependabot aos seus fluxos de trabalho existentes.
De forma semelhante às atualizações de versão, as opções de personalização para atualizações de segurança são definidas no arquivo dependabot.yml. Se você já personalizou o dependabot.yml para atualizações de versão, muitas das opções de configuração definidas também poderão ser aplicadas automaticamente às atualizações de segurança. No entanto, há alguns pontos importantes a serem observados:
- As Dependabot security updates são sempre acionadas por um aviso de segurança, em vez de serem executadas de acordo com o
scheduledefinido nodependabot.ymlpara atualizações de versão. - O Dependabot gera pull requests para atualizações de segurança somente na ramificação padrão. Se a sua configuração definir um valor para
target-branch, a personalização desse ecossistema de pacotes só se aplicará às atualizações de versão por padrão.
Se ainda não tiver configurado um arquivo dependabot.yml para o repositório e quiser personalizar pull requests para atualizações de segurança, primeiro você deverá:
- Fazer check-in de um arquivo
dependabot.ymlno diretório do.githubdo seu repositório. Para saber mais, confira Configuração de atualizações de versão do Dependabot. - Definir todas as chaves obrigatórias. Para obter mais informações, consulte Chaves obrigatórias.
- Se você quiser que a personalização de um ecossistema de pacotes aplique-se apenas a atualizações de segurança (e exclua atualizações de versão), defina a chave
open-pull-requests-limitcomo0.
Em seguida, você pode considerar quais são suas necessidades e prioridades para atualizações de segurança e aplicar uma combinação das opções de personalização descritas abaixo.
Como priorizar atualizações significativas
Para criar um processo de revisão mais direcionado que priorize atualizações significativas, use groups para combinar atualizações de segurança para várias dependências em uma única pull request.
Para obter diretrizes detalhadas, confira Como priorizar atualizações significativas.
Adicionar revisores e atribuidores automaticamente
Importante
A propriedade reviewers será encerrada e será removida em uma versão futura do GitHub Enterprise Server.
Você também pode adicionar revisores e responsáveis automaticamente usando um arquivo CODEOWNERS. Confira Sobre os proprietários de código.
Para garantir que as atualizações de segurança do projeto sejam tratadas imediatamente pela equipe apropriada, use reviewers e assignees para adicionar automaticamente indivíduos ou equipes como revisores ou responsáveis a pull requests.
Para obter diretrizes detalhadas, confira Adicionar automaticamente revisores e responsáveis.
Como rotular pull requests com rótulos personalizados
Para priorizar pull requests específicas ou integrá-las a pipelines de CI/CD, use labels para aplicar seus rótulos personalizados a cada pull request.
Para obter orientações detalhadas, consulte Rotular pull requests com rótulos personalizados.
Adicionar um prefixo a mensagens de confirmação
Para integrar-se a automações que processam mensagens de confirmação ou títulos de pull requests, use commit-message para especificar o prefixo desejado para mensagens de confirmação e títulos de pull requests.
Para obter orientações detalhadas, consulte Adicionar um prefixo a mensagens de confirmação.
Associar pull requests a um marco
Para acompanhar o progresso em direção a uma meta ou versão do projeto, use milestone para associar as pull requests do Dependabot a um marco.
Para obter orientações detalhadas, consulte Associar pull requests a um marco.
Alterar o separador no nome da ramificação da pull request
Para garantir que os nomes de ramificações estejam alinhados com as convenções existentes da sua equipe, use pull-request-branch-name.separator para especificar o separador que você quer que o Dependabot use para nomes de ramificações.
Para obter orientações detalhadas, consulte Alterar o separador no nome da ramificação da pull request.
Exemplo 1: configuração somente para atualizações de segurança
Neste exemplo, o arquivo dependabot.yml:
- Usa um registro privado para atualizações em dependências do npm.
- Desabilita atualizações de versão para dependências, de modo que todas as personalizações se apliquem apenas a atualizações de segurança.
- É personalizado para que o Dependabot aplique rótulos personalizados às pull requests e adicione automaticamente revisores e responsáveis.
- Agrupa atualizações de segurança para dependências da Golang em apenas uma pull request.
# Example configuration file that:
# - Uses a private registry for npm updates
# - Ignores lodash dependency
# - Disables version-updates
# - Applies custom labels
# - Adds 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 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 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 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*"
Exemplo 2: configuração para atualizações de versão e atualizações de segurança
Neste exemplo, o arquivo dependabot.yml:
- Ela é personalizada para que o Dependabot adicione rótulos personalizados a atualizações de versão e atualizações de segurança.
- Usa a opção de personalização
groupspara criar dois grupos ("angular" e "production-dependencies") para agrupar várias atualizações em pull requests únicas. - Especifica que a personalização
groupsparaangularse aplica apenas a atualizações de segurança. - Especifica que a personalização
groupsparaproduction-dependenciesse aplica somente a atualizações de versão.
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"
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"
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"
Leitura adicional
-
[AUTOTITLE](/code-security/dependabot/working-with-dependabot/dependabot-options-reference) -
[AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot)