RenovateBot
- Configuration: https://docs.renovatebot.com/configuration-options
- Release Notes https://docs.renovatebot.com/release-notes-for-major-versions/
- Configuration Options - Renovate Docs | Renovate Docs
- Setup Renovatebot
RenovateBot Config Validator
npm install --global renovate
renovate-config-validator
RenovateBot Runner
- Add
RENOVATE_TOKEN
for Access to Gitlab - Add
GITHUB_COM_TOKEN
as a CI var to fetch release notes
Example Configuration
Configuration resides in renovate.json
.
Common Configuration
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base",
"group:allNonMajor",
"schedule:weekly",
":dependencyDashboard" #
],
}
Ignoring Packages
{
"ignoreDeps": ["some.package.group:package"],
}
Grouping Packages
{
"packageRules": [
{
"matchPackagePatterns": [ "org.modelmapper" ],
"groupName": "org.modelmapper"
}
]
}
Supporting custom Docker Compose compose files
{
"docker-compose": {
"fileMatch": ["^dev.yml$", "^prod.yml$"]
},
}
Setting a default Merge Request assignee
Assign people to the created MR
{
"assignees": [
"MyName"
],
}
Custom Regex Managers
- Custom Manager Support using Regex - Renovate Docs | Renovate Docs
- Configuration Options - Renovate Docs | Renovate Docs
- Versioning - Renovate Docs
This regex manager recognizes docker image tags inside .env
files used in Docker Compose projects.
GITLAB_CE_TAG="16.6.0-ce.0" # gitlab/gitlab-ce
GITLAB_RUNNER_TAG="alpine-v16.5.0" # gitlab/gitlab-runner&versioning=regex
Renovate Configuration
{
"regexManagers": [
{
"datasourceTemplate": "docker",
"fileMatch": [
"(^|/)\\.env$"
],
"matchStrings": [
"[A-Z_]+_TAG=\"(?<currentValue>.*)\" # (?<depName>.*?)?(\\&versioning=(?<versioning>.*?))?\\s"
]
}
],
"packageRules": [
{
"matchPackageNames": ["gitlab/gitlab-runner"],
"versioning": "regex:^(?<compatibility>.*)-v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)?$"
}
]
}