Blog

Automate Your Dependencies Using Renovate

Picture of Dimitar Zafirov
Dimitar Zafirov
DevOps & Cloud Engineer
02.01.2024
Reading time: 3 mins.
Last Updated: 27.02.2025

Table of Contents

What is Renovate?

Renovate is an automated dependency update service. It works by scanning private or public repositories and creates Merge Requests, based on the requirements we have and the configuration we made. It is highly configurable and it can match very well our specific needs.

Which platforms are supported by Renovate?

Renovate supports GitHub, GitLab, Bitbucket, Azure DevOps, AWS CodeCommit and Gitea.

The integration with each of them is a little bit different, but the way it works is the same.
It support also many languages like Go, Java, Python, Rust, Ruby, JavaScript, Nuget dependencies and s.o.

Renovate supports most of the popular dependency systems. Complete list can be found HERE ( https://docs.renovatebot.com/modules/manager/ )

Using Renovate_ITGix

How to integrate Renovate?

The integration with GitHub is an easy process. There are a few ways of integration.

One way is to run Renovate as Bot which is using PAT:

1. Create GitHub PAT

  • Login to your GitHub account
  • Open Settings
  • Navigate to Developer settings
  • Under Personal access tokens and click Tokens
  • Then Generate new token and fill the form
  • Click on Generate token

  2. Set your PAT as an environment variable RENOVATE_TOKEN

Another way is to use Renovate as self-hosted application. The makers of Renovate are providing “Renovate GitHub App”, which can be installed with a single click ( https://github.com/apps/renovate ).

1. When creating the GitHub App, give it the following permissions:

PermissionScope
Checksread+write
Commit statusesread+write
Contentsread+write
Issuesread+write
Pull requestsread+write
Workflowsread+write
Dependabot alertsread
Membersread
Metadataread

2. In the configuration section we need to select for which repositories we want to use Renovate:

Renovate - repository access

3. After applying the changes, Renovate will create its first MR which contains renovate.json file with basic configuration:

{

  "$schema": "https://docs.renovatebot.com/renovate-schema.json",

  "extends": [

    "config:base"

  ]

}

Once we merge, the Renovate bot will start scanning the repository and if found some new versions, will create new MRs.

You can find the integration with the rest of the supported platforms here: https://docs.renovatebot.com/modules/platform/

Custom configuration examples:

By default Renovate is not scanning Kubernetes manifest files. We can include them by updating the renovate.json file by adding:

"kubernetes": {

    "fileMatch": ["\\.yaml$"]

  }

If we want to make renovate to scan for changes once per week, on Sunday, we should add:

"packageRules": [

    {

      "matchPackageNames": ["*"],

      "schedule": ["on sunday"]

    }

  ]

By default, renovate will not merge the MRs automatically. Of course, we probably would leave the major updates to be reviewed first by human. So you could configure it to automerge all but major version this way:

{

  "packageRules": [

    {

      "matchUpdateTypes": ["minor", "patch", "pin", "digest"],

      "automerge": true

    }

  ]

}

You can see below an example of Renovate MR which automatically found a new version of Prometheus docker tag:

renovate
renovate

You can find all configuration options in the Renovate Docs section https://docs.renovatebot.com/configuration-options

It could be used also for updating dependencies in you repositories. For example, if you have a repository that depends on some library and you want when ever a new version is released, your repository automatically to get a version bump of that library:

...
"matchPackageNames": ["my-private-library"],
….

as soon as there are new versions in “my-private-library” this will be shown in you on-boarded repositories automatically by renovate by creating a new pull request with changes, if it is package manager it will also generate the lock files for your language.

Conclusion

Renovate is a great tool which could save us a lot of manual work. As DevOps, we can use it for updating Helm charts, Docker image tags, Terraform providers, Kubernetes manifests and many more.

Leave a Reply

Newsletter for Tech experts

Signal, not noise -

straight to your inbox.

Join 12,000+ engineers and business leaders getting field notes on SRE, DevOps and cloud- native reliability.

Deep-dive tech blogs & case studies
Emerging tech, curated

Your Work Email

We respect your inbox. Read our Privecy Policy

More Posts

Every observability vendor now ships something called an “AI SRE.” Cloud providers have one. Incident-management platforms have one. Your monitoring tool probably added one last quarter. The question for most...
Reading
AI SRE Agent: Turning the First 20 Minutes of an Incident Into Automation It’s 3am. An alert fires. You open your laptop, and the next twenty minutes look like every...
Reading
Get In Touch
ITGix provides you with expert consultancy and tailored DevOps services to accelerate your business growth.
Newsletter for
Tech Experts
Join 12,000+ business leaders and engineers who receive blogs, e-Books, and case studies on emerging technology.