A
Etienne Deneuve
Jan 8, 2023 · 3 min read

How to use renovate

Side view worker wearing gloves

Introduction

In the fast-paced world of software development, staying up-to-date with the latest package dependencies can be a daunting challenge. Outdated packages can lead to security vulnerabilities, performance issues, and compatibility conflicts, ultimately hindering the progress of your projects. This is where Renovate, an automated dependency update tool, steps in to streamline the process and ensure your software projects stay in top shape.

What is Renovate?

Renovate is a versatile and multi-platform solution designed to simplify and automate the management of dependencies in software projects. It caters to the needs of diverse development environments and brings several advantages to the table.

Why use Renovate?¶

  • Automated Dependency Management: Renovate automates updates, reducing manual effort.
  • Security and Stability: Ensures security and stability with up-to-date dependencies.
  • Customization: Tailor Renovate to your project’s needs using renovate.json.
  • Pull Request Integration: Propose updates with code review via PRs.
  • Scheduling: Control updates with flexible scheduling.
  • Multi-Platform Support: Works on various platforms for consistency.
  • Community-Backed Updates: Stays current with community recommendations.
  • Reduced Technical Debt: Frequent updates reduce technical debt.
  • Compatibility Assurance: Prevents dependency conflicts and compatibility issues.
  • Streamlined Workflow: Focus on code, not manual dependency management.
  • Transparency and Open Source: Transparent and flexible open-source tool.
  • Automatic Detection of Relevant Package Files : Renovate automatically identifies relevant package files (such as package.json), even within monorepositories.

Supported Platforms¶

  • GitHub (.com and Enterprise Server)
  • GitLab (.com and CE/EE)
  • Bitbucket Cloud
  • Bitbucket Server
  • Azure DevOps
  • AWS CodeCommit
  • Gitea and Forgejo

Integration in Azure devops

you can follow this steps to add renovate in your azure devops project:

1. Create a new pipeline

schedules:
- cron: '0 3 * * *'
displayName: 'Every day at 3am'
branches:
include: [main]
always: true
trigger: none
pool:
vmImage: ubuntu-latest
steps:
- task: npmAuthenticate@0
inputs:
workingFile: .npmrc
- bash: |
git config --global user.email 'bot@renovateapp.com'
git config --global user.name 'Renovate Bot'
npx --userconfig .npmrc renovate
env:
TOKEN: $(System.AccessToken)
2.Create a .npmrc file in your repository (if dosen’t exist)

replace YOUR-ORG and YOUR-FEED:

Terminal window
registry=https://pkgs.dev.azure.com/YOUR-ORG/_packaging/YOUR-FEED/npm/registry/
always-auth=true
3.Create a config.js file in your repository

replace YOUR-ORG , YOUR-PROJECT and YOUR-REPO:

module.exports = {
platform: 'azure',
endpoint: 'https://dev.azure.com/YOUR-ORG/',
token: process.env.TOKEN,
hostRules: [
{
hostType: 'npm',
matchHost: 'pkgs.dev.azure.com',
username: 'apikey',
password: process.env.TOKEN
}
],
repositories: ['YOUR-PROJECT/YOUR-REPO']
}
4.Create config file (renovate.json)
{
"extends": ["config:recommended"],
"baseBranches": ["develop"], // specifie branch to merge the pr
"reviewers": ["required:Toufik Benkhelifa"] // add required reviewers
}
5.Add permission to your agent Build Service

Make sure that the “Project Collection Build Service (YOUR-PROJECT)” user has the permissions on the repositories. in Project settings > Repositories > YOUR-REPOS > Security > YOUR-REPOS Build Service you should set this permission to allow:

  • Contribute
  • Contribute to pull requests
  • Create branch

Conclusion

Renovate is your go-to solution for hassle-free dependency management in software development. It automates updates, enhances security, and offers customization options, all while streamlining your workflow. With support for various platforms and community-backed updates, Renovate reduces technical debt and ensures compatibility. Plus, it’s open source, transparent, and capable of automatically detecting relevant package files, making it the perfect tool to keep your projects in top shape. So, embrace Renovate and simplify your development journey.

Azure Devops CI-CD

Related articles