Sobre a personalização de atualizações de dependências
Depois de habilitar as atualizações de versão, você poderá personalizar como o Dependabot mantém suas dependências adicionando mais opções ao arquivo dependabot.yml. Por exemplo, você pode:
- Especifique o dia da semana que as solicitações de pull serão abertas para as atualizações de versão:
schedule.day
- Defina revisores, destinatários e rótulos para cada gerenciador de pacotes:
reviewers
,assignees
elabels
- Defina uma estratégia de controle de versão para as alterações em cada arquivo de manifesto:
versioning-strategy
- Altere o número máximo de solicitações de pull em aberto para as atualizações de versão do padrão de cinco:
open-pull-requests-limit
- Abra as solicitações de pull para as atualizações de versão a fim de direcioná-las para um branch específico, em vez do branch padrão:
target-branch
Para obter mais informações sobre as opções de configuração, confira "Opções de configuração para o arquivo dependabot.yml".
Quando você atualiza o arquivo dependabot.yml no seu repositório, o Dependabot executa uma verificação imediata com a nova configuração. Em minutos, você verá uma lista atualizada das dependências na guia Dependabot . Isso poderá demorar mais se o repositório tiver muitas dependências. Você também pode ver novas pull requests para atualizações de versão. Para obter mais informações, confira "Como listar as dependências configuradas para atualizações de versão".
Impacto das alterações de configuração nas atualizações de segurança
Se você personalizar o arquivo dependabot.yml, poderá observar algumas alterações nas solicitações de pull geradas para as atualizações de segurança. Essas pull requests são sempre acionadas por uma consultoria de segurança para uma dependência, ao invés da agenda Dependabot. No entanto, elas herdam as configurações relevantes do arquivo dependabot.yml, a menos que você especifique um branch de destino diferente para as atualizações de versão.
Para ver um exemplo, confira "Como definir rótulos personalizados" abaixo.
Modificando o agendamento
Quando você define um agendamento de atualização daily
, por padrão, o Dependabot verifica se há novas versões às 5h UTC. Use schedule.time
para especificar uma hora alternativa do dia para verificar se há atualizações (formato: hh:mm
).
O exemplo de arquivo dependabot.yml abaixo expande a configuração do npm para especificar o período em que o Dependabot deve verificar se há atualizações de versão para as dependências.
# dependabot.yml file with
# customized schedule for version updates
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
# Check the npm registry for updates at 2am UTC
schedule:
interval: "daily"
time: "02:00"
Configurando revisores e responsáveis
Por padrão, Dependabot levanta todas as pull requests sem revisores ou responsáveis.
Use reviewers
e assignees
para especificar revisores e destinatários para todas as solicitações de pull geradas para um gerenciador de pacotes. Ao especificar uma equipe, você precisa usar o nome completo dela, como se você estivesse @mentioning a equipe (incluindo a organização).
O exemplo de arquivo dependabot.yml abaixo altera a configuração do npm para que todas as solicitações de pull em aberto com as atualizações de versão e segurança para o npm tenham dois revisores e um destinatário.
# 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 an assignee
assignees:
- "user-name"
Definindo etiquetas personalizadas
Por padrão, o Dependabot gera todas as solicitações de pull com o rótulo dependencies
. Se mais de um gerenciador de pacotes for definido, o Dependabot incluirá um rótulo adicional em cada solicitação de pull. Isso indica a linguagem ou o ecossistema em que a solicitação de pull será atualizada, por exemplo, java
para atualizações do Gradle e submodules
para atualizações do Git Submodule. Dependabot cria essas etiquetas padrão automaticamente, conforme necessário no seu repositório.
Use labels
para substituir os rótulos padrão e especificar rótulos alternativos para todas as solicitações de pull geradas para um gerenciador de pacotes. Não é possível criar rótulos no arquivo dependabot.yml, ou seja, os rótulos alternativos já precisam existir no repositório.
O exemplo de arquivo dependabot.yml abaixo altera a configuração do npm para que todas as solicitações de pull em aberto com as atualizações de versão e segurança para o npm tenham rótulos personalizados. Ele também altera a configuração do Docker para verificar as atualizações de versão em relação a um branch personalizado e levantar as pull request com etiquetas personalizadas em relação ao branch personalizado. As alterações no Docker não afetarão as pull request de atualização de segurança porque as atualizações de segurança sempre são feitas em relação ao branch padrão.
Observação: o novo target-branch
precisa conter um Dockerfile para atualização, caso contrário, essa alteração terá o efeito de desabilitar as atualizações de versão para o Docker.
# 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"
# Keep Docker dependencies up to date
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
# Raise pull requests for Docker version updates
# against the "develop" branch. The Docker configuration
# no longer affects security update pull requests.
target-branch: "develop"
# Use custom labels on pull requests for Docker version updates
labels:
- "Docker dependencies"
- "triage-board"
Mais exemplos
Para ver mais exemplos, confira "Opções de configuração para o arquivo dependabot.yml".