На главную
Контейнеры и CI/CD
Конфиг автообновления зависимостей
Конфиг автообновления зависимостей: расписание, лимит одновременных запросов, выдержка версии и правила автослияния. Renovate — и тот же набор для Dependabot.
Когда и сколько
Расписание считается по нему
Свежий релиз игнорируется, пока не отлежится
Через запятую
Логин на GitHub, можно пусто
Что сливать без человека
renovate.json
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
":semanticCommits",
":dependencyDashboard"
],
"timezone": "Europe/Moscow",
"schedule": [
"before 9am on monday"
],
"prConcurrentLimit": 3,
"prHourlyLimit": 2,
"minimumReleaseAge": "3 days",
"labels": [
"dependencies"
],
"lockFileMaintenance": {
"enabled": true,
"schedule": [
"before 9am on the first day of the month"
]
},
"vulnerabilityAlerts": {
"labels": [
"security"
],
"schedule": []
},
"packageRules": [
{
"description": "Инструменты разработки обновляются сами",
"matchDepTypes": [
"devDependencies"
],
"matchUpdateTypes": [
"minor",
"patch"
],
"automerge": true
},
{
"description": "Мелкие обновления одной пачкой",
"matchUpdateTypes": [
"minor",
"patch"
],
"groupName": "мелкие обновления"
},
{
"description": "Крупные версии — по одной и с разбором",
"matchUpdateTypes": [
"major"
],
"automerge": false,
"labels": [
"major"
]
}
]
}
То же для Dependabot
.github/dependabot.yml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 3
labels:
- "dependencies"
groups:
minor-and-patch:
update-types:
- "minor"
- "patch"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
Dependabot умеет заметно меньше: у него нет выдержки версии и автослияния — слияние настраивается отдельным правилом репозитория. Поэтому конфиг короче, а не потому, что что-то потерялось.