title |
---|
Managers |
Renovate is based around the concept of "package managers", or "managers" for short. These range from traditional package managers like npm, Bundler and Composer through to less traditional concepts like CircleCI or Travis config files.
The goal of Renovate is to detect and maintain all third-party dependencies in your repositories, through the use of managers.
Most Renovate managers have a default filePatterns
array.
The filePatterns
array has a regular expression, or glob pattern, that matches against the repository file list.
Some managers have no default filePatterns
, because they have no filename convention that would let Renovate intelligently filter them.
If there is no default filePattern
, the manager is disabled.
For the manager to work, you must create a filePatterns
regular expression, or glob pattern.
For example:
{
"kubernetes": {
"filePatterns": ["/^config/.*\\.yaml$/"]
}
}
If the default filePatterns
for a manager does not match your file(s), you can extend the pattern.
You extend the pattern by configuring the manager's filePatterns
.
For example:
{
"dockerfile": {
"filePatterns": ["does-not-look-like-a-docker-file"]
}
}
Renovate will extend the existing filePatterns
, meaning you don't need to include the default patterns like Dockerfile
in your own array.
In other words, the patterns are "additive".
If a manager matches a file that you don't want it to, ignore it using the ignorePaths
configuration option.
Also, if you ever find that Renovate is not matching a file name that you're certain it should, check your preset config isn't the cause of it.
The config:recommended
preset ignores common test and example directory names, for example.
Most managers are enabled by default.
For those that aren't, typically because they are considered experimental, you can opt-in manually.
If there was a manager called some-new-manager
you would enable it like this:
{
"some-new-manager": {
"enabled": true
}
}
{
"gradle": {
"enabled": false
}
}
Please check the list of supported managers.
Say you only want to use Renovate for JavaScript packages, and to update your Dockerfile, and don't want any other updates.
You can use the enabledManagers
array, to list the managers you want to use (npm
, dockerfile
):
{
"enabledManagers": ["npm", "dockerfile"]
}
Using the enabledManagers
array disables all other managers, this includes Bundler, Composer, Docker Compose, etc.