NCA Social Media
Aktualisiert:
Autor:
Roland Golla
Grüner Roboter tauscht alte gegen neue Paketkiste, Wegweiser Renovate

Was ist Renovate?

Renovate ist ein Open Source Bot, der die Abhängigkeiten in Software Projekten automatisch aktuell hält. Er findet veraltete Pakete in Composer, npm, Docker und CI Dateien und öffnet dafür Pull Requests mit Release Notes und Changelog.
Rhys Arkins hat Renovate gestartet, die erste Version erschien Anfang 2017 auf npm. Ende 2019 übernahm WhiteSource das Projekt, das Unternehmen heißt heute Mend.io. Der Code steht unter der AGPL 3.0 Lizenz und lässt sich komplett selbst betreiben.
Renovate kennt über 90 Paketmanager. Neben PHP und JavaScript versteht der Bot auch Python, Go, Java, Dockerfiles, Helm Charts und die Action Versionen in GitHub Actions Workflows. Ein Tool deckt damit den ganzen Stack ab.

Renovate mit NCA: Schnelle Hilfe vom Experten

Renovate läuft bei uns in der Pipeline. Der Bot öffnet die Pull Requests, unsere Tests entscheiden über den Merge. Genau dort liegt unser Schwerpunkt seit über 20 Jahren: Testing, statische Analyse und Refactoring. Dependency Updates gehören für uns deshalb fest zur Qualitätssicherung, gleich neben PHPUnit, PHPStan und Cypress.
Wir richten Renovate in GitLab CI und GitHub Actions ein und bauen die passenden Quality Gates im Rahmen von PHP Refactoring und Modernisierung. Teams mit KI Coding begleiten wir im Vibe Coding Consulting, damit automatische Updates und KI generierter Code die gleichen Guardrails durchlaufen. Ergänzend setzen wir auf Composer Audit für Security Checks, PHPStan für statische Analyse und Rector PHP für große Versionssprünge.
Renovate sauber in eure Pipeline bringen
Finde das passende Angebot für dein Projekt
Anfrage-Konfiguration
Starten Sie Ihre Anfrage
Projektart
Infos
Nachricht

Eliminierung technischer Schulden mit PHPStan, Rector PHP und PHPUnit. Über 20 Jahre Praxiserfahrung in skalierbaren Backends.

CORE EXPERTISE

Gesetzliche Konformität & Inklusion. Optimierung von Performance und Conversion durch radikal nutzerzentriertes, universelles Design.

BFSG COMPLIANT

Skalierbare KI-Systeme mit echtem Code Ownership. CI/CD, Backup-Strategien und Infrastruktur, die mit deinem Team wächst.

ENTERPRISE READY

So arbeitet Renovate im Alltag

Renovate läuft in regelmäßigen Abständen über eure Repositories. Bei jedem Lauf passiert das Gleiche:
  • Scannen: Der Bot findet alle Paketdateien selbst, also composer.json, package.json, Dockerfiles oder CI Workflows. Auch in Monorepos.
  • Vergleichen: Er prüft jede Abhängigkeit gegen die Registries wie Packagist, npm oder Docker Hub.
  • Branch und Pull Request: Für jedes Update entsteht ein eigener Branch mit Pull Request. Lock Files wie composer.lock und package-lock.json aktualisiert Renovate gleich mit.
  • Pipeline: Eure CI testet das Update. Grün bedeutet mergen, rot bedeutet genauer hinschauen.
Dazu kommt das Dependency Dashboard. Das ist ein Issue im Repository, das alle offenen, geplanten und blockierten Updates an einer Stelle zeigt. Wer morgens einen Blick darauf wirft, weiß sofort, wo das Projekt steht.
Major Updates trennt Renovate standardmäßig von Minor und Patch Updates. Ein Sprung auf eine neue Symfony Hauptversion landet also nicht versteckt in einem Sammel Pull Request.

Renovate konfigurieren: Die renovate.json

Die ganze Steuerung liegt in einer Datei im Repository, meist renovate.json. Mit dem Preset config:recommended startet ihr mit sinnvollen Standards. Danach passt ihr Zeitplan, Gruppen und Automerge an euer Team an.
Code:
          

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["config:recommended"],
  "timezone": "Europe/Berlin",
  "schedule": ["before 7am on monday"],
  "minimumReleaseAge": "3 days",
  "dependencyDashboard": true,
  "lockFileMaintenance": { "enabled": true },
  "packageRules": [
    {
      "matchUpdateTypes": ["patch"],
      "matchDepTypes": ["require-dev", "devDependencies"],
      "automerge": true
    },
    {
      "matchManagers": ["composer"],
      "matchPackageNames": ["symfony/**"],
      "groupName": "Symfony"
    }
  ]
}

Was die Konfiguration macht:
  • schedule: Updates kommen gebündelt am Montagmorgen. Der Rest der Woche bleibt ruhig.
  • minimumReleaseAge: Neue Versionen müssen drei Tage alt sein. Kaputte oder kompromittierte Releases werden in dieser Zeit meist zurückgezogen.
  • automerge: Patch Updates für Dev Abhängigkeiten mergt Renovate selbst, sobald die Pipeline grün ist.
  • groupName: Alle Symfony Pakete kommen in einem Pull Request. Das passt, weil Symfony Komponenten zusammen veröffentlicht werden.
  • lockFileMaintenance: Renovate baut regelmäßig die Lock Files neu, damit auch indirekte Abhängigkeiten aktuell bleiben.

Renovate selbst hosten mit GitLab CI und GitHub Actions

Renovate gibt es als gehostete App von Mend. Für volle Kontrolle über Tokens, Laufzeiten und Daten betreibt ihr den Bot selbst. Das geht ohne eigenen Server direkt in der Pipeline, die ihr ohnehin nutzt.
GitLab CI: Das offizielle Projekt renovate-runner liefert ein fertiges Template. Ihr bindet es ein, hinterlegt ein Access Token als CI Variable RENOVATE_TOKEN und legt einen Pipeline Schedule an.
Code:
          

include:
  - project: 'renovate-bot/renovate-runner'
    file: '/templates/renovate.gitlab-ci.yml'

GitHub Actions: Die offizielle Action renovatebot/github-action startet Renovate per Cron. Die aktuelle Version der Action findet ihr im Repository, pinnt sie fest und lasst Renovate sie danach selbst aktualisieren.
Code:
          

name: Renovate
on:
  schedule:
    - cron: '0 5 * * 1-5'
  workflow_dispatch:

jobs:
  renovate:
    runs-on: ubuntu-latest
    steps:
      - uses: renovatebot/github-action@vX.Y.Z # aktuelle Version eintragen
        with:
          token: ${{ secrets.RENOVATE_TOKEN }}

Beide Wege laufen auf eurer eigenen CI Infrastruktur. Wer Runner auf deutschen Servern betreibt, hält damit auch den Bot und seine Tokens in der eigenen Umgebung.

Renovate vs Dependabot im Vergleich

Dependabot ist direkt in GitHub eingebaut und in wenigen Minuten aktiv. Renovate braucht etwas mehr Einrichtung, bietet dafür mehr Plattformen und feinere Regeln.
Kriterium Renovate Dependabot
Plattformen GitHub, GitLab, Bitbucket, Azure DevOps, Gitea und Forgejo GitHub
Self Hosting Ja, als CLI, Docker Image oder CI Job Nein, läuft als GitHub Dienst
Konfiguration renovate.json mit Presets und packageRules .github/dependabot.yml
Übersicht Dependency Dashboard als Issue Security Tab und einzelne Pull Requests
Automerge Eingebaut und per Regel steuerbar Über zusätzliche Workflows
Lizenz Open Source, AGPL 3.0 Teil von GitHub

Renovate und Supply Chain Security

Veraltete Pakete sind ein Risiko. Blind aktualisierte Pakete sind es auch. Kompromittierte Releases auf npm oder Packagist tauchen immer wieder auf und werden oft innerhalb weniger Stunden entfernt. Renovate hilft auf beiden Seiten.
Wartezeit für neue Releases: Mit minimumReleaseAge greift Renovate erst zu, wenn eine Version eine Weile öffentlich ist. Das gibt der Community Zeit, Probleme zu finden.
Security Updates mit Vorrang: Über die Option osvVulnerabilityAlerts prüft Renovate Abhängigkeiten gegen die OSV Datenbank. Sicherheitsrelevante Updates kommen dann auch außerhalb des Zeitplans.
Digests pinnen: Docker Images und GitHub Actions lassen sich per Digest fest pinnen. Renovate aktualisiert den Digest, sobald eine neue Version erscheint. Ein verändertes Tag kann so nichts heimlich austauschen.
Für PHP Projekte kombinieren wir das mit Composer Audit in jeder Pipeline und dem Composer Dependency Analyser, der ungenutzte und fehlende Pakete meldet. Im JavaScript Umfeld übernimmt Knip diese Aufräumarbeit.

Best Practices: Renovate ohne Pull Request Flut

Der häufigste Fehler beim Start: Renovate wird aktiviert, am nächsten Tag liegen 40 Pull Requests im Repository, und das Team schaltet den Bot wieder ab. Mit ein paar Regeln bleibt es ruhig.
  • Tests zuerst: Automerge ist nur so gut wie eure Pipeline. Ohne PHPUnit, statische Analyse und E2E Tests ist ein grüner Haken wertlos.
  • Zeitplan setzen: Ein fester Tag pro Woche bündelt die Arbeit. Das Team plant Updates wie jede andere Aufgabe.
  • Gruppieren: Pakete, die zusammen veröffentlicht werden, kommen in einen Pull Request. Beispiele sind Symfony, Astro Integrationen oder Linting Tools.
  • Limits nutzen: prConcurrentLimit und prHourlyLimit begrenzen, wie viele Pull Requests gleichzeitig offen sind.
  • Majors bewusst planen: Große Versionssprünge brauchen Zeit. Für PHP und Symfony nutzen wir dafür Rector PHP, das den Code gleich mit anhebt.
  • Konfiguration teilen: Ein gemeinsames Preset in einem eigenen Repository hält alle Projekte auf den gleichen Regeln.
Wie gut Tests ein Update absichern, zeigt die Patch Coverage. Wer Hooks lokal vor dem Push laufen lässt, findet mit GrumPHP einen passenden Baustein.

Locking down exactly what dependencies are present and not upgrading unless they pass tests.

Rhys Arkins, Gründer von Renovate – Interview auf SurviveJS

Renovate in der NCA Praxis

Renovate ist bei uns ein Baustein in einer Kette. Der Bot liefert Updates, die Pipeline prüft sie, und das Team entscheidet bei allem, was nicht automatisch durchgeht. Diese Kette funktioniert nur, wenn jedes Glied stabil ist.
Für PHP Projekte heißt das: PHPUnit und PHPStan laufen in jeder Pipeline, Composer Audit prüft auf bekannte Lücken, und Rector PHP hebt den Code bei großen Versionssprüngen an. Container Images pflegen wir mit Renovate genauso wie Pakete, passend zu unserem Wissen rund um Docker.
Bei Legacy Projekten ohne Tests schalten wir Automerge bewusst aus. Erst kommen die Quality Gates, dann die automatischen Updates. Diesen Weg gehen wir mit Teams im PHP Refactoring. Weitere Open Source Werkzeuge für eure Infrastruktur findet ihr in unserem Glossar für Open Source Projekte, etwa Coolify als Self Hosted PaaS oder Caddy als Webserver mit Auto HTTPS. Einen Überblick über PHP Werkzeuge gibt das NCA PHP Glossar.
CYPRESS.IO Ambassador und IT Consultant für QA Engenieering und Qualität in PHP Projekten.

Frontend 2025: Optimieren Sie Ihre Webseite mit Astro JS und nutzen Sie die Vorteile der Barrierefreiheit

Optimieren Sie Ihre Webseite mit Astro JS und nutzen Sie die Vorteile einer schnellen, sicheren und barrierefreien Webseite. Erfüllen Sie die gesetzlichen Anforderungen und verbessern Sie die Benutzererfahrung Ihrer Webseite. Mit Astro JS können Sie die Ladezeit reduzieren, die Sicherheit maximieren und die SEO-Optimierung verbessern. Kontaktieren Sie uns, um mehr zu erfahren und um Ihre Webseite auf ein neues Level zu heben.

Astro JS Frontend E-Mail Kontakt

Häufige Fragen zu Renovate

Die wichtigsten Antworten zu Renovate, von der Einrichtung über Kosten bis zum Vergleich mit Dependabot.

Was kann Renovate 2026?

Renovate hält Abhängigkeiten in über 90 Paketmanagern aktuell, darunter Composer, npm, Docker, Python und GitHub Actions. Der Bot öffnet für jedes Update einen Pull Request mit Release Notes, pflegt Lock Files, gruppiert zusammengehörige Pakete und mergt nach Regeln automatisch. Das Dependency Dashboard zeigt alle offenen Updates an einer Stelle. Dazu kommen Wartezeiten für neue Releases und Security Updates über die OSV Datenbank.

Ist Renovate 2026 noch kostenlos?

Ja. Die Renovate CLI ist Open Source unter der AGPL 3.0 Lizenz und lässt sich ohne Kosten selbst betreiben, etwa als GitLab CI Job oder GitHub Action. Mend bietet zusätzlich eine kostenlose gehostete Community Variante. Kostenpflichtig sind nur die Enterprise Produkte von Mend mit Support und erweiterten Funktionen. Für die meisten Teams reicht die Open Source Variante vollständig aus.

Renovate oder Dependabot: Was passt 2026 besser?

Dependabot ist ideal, wenn ihr nur GitHub nutzt und schnell starten wollt. Renovate passt besser, sobald ihr GitLab, Bitbucket oder Forgejo einsetzt, selbst hosten wollt oder feine Regeln braucht. Gruppierung, Zeitpläne, Automerge und das Dependency Dashboard sind in Renovate tiefer ausgebaut. Beide Tools erfüllen die Grundaufgabe gut, die Entscheidung hängt an Plattform und Kontrollbedarf.

Wie richte ich Renovate 2026 in GitLab CI ein?

Am einfachsten über das offizielle Projekt renovate-runner. Ihr bindet dessen Template per include in eine eigene .gitlab-ci.yml ein, legt ein Access Token als CI Variable RENOVATE_TOKEN an und erstellt einen Pipeline Schedule. Renovate läuft dann regelmäßig über alle freigegebenen Projekte. Die Regeln pro Projekt stehen jeweils in einer renovate.json im Repository.

Welche Alternativen zu Renovate gibt es 2026?

Die bekannteste Alternative ist Dependabot von GitHub. Für PHP ergänzt Composer Audit die Sicherheitsprüfung, ersetzt aber keine automatischen Updates. Für Container Setups gibt es Tools wie Watchtower, die laufende Images direkt austauschen, allerdings ohne Pull Request und ohne Tests davor. Für kontrollierte Updates mit Review und Pipeline ist Renovate eines der flexibelsten Werkzeuge.

Wer steckt hinter Renovate?

Rhys Arkins hat Renovate Ende 2016 als unabhängiges Open Source Projekt gestartet, die erste Version erschien Anfang 2017 auf npm. Ende 2019 übernahm WhiteSource das Projekt, das Unternehmen heißt seit 2022 Mend.io. Die Entwicklung läuft weiter offen auf GitHub unter der Organisation renovatebot, mit einer großen Community und sehr häufigen Releases.

Unterstützt Renovate PHP und Composer?

Ja. Renovate liest composer.json und composer.lock, prüft Pakete gegen Packagist und private Registries und aktualisiert beide Dateien im gleichen Pull Request. Über packageRules lassen sich etwa alle Symfony Pakete gruppieren oder Dev Abhängigkeiten automatisch mergen. Für große Versionssprünge empfiehlt sich Rector PHP, das den Code an die neue Version anpasst.

Was ist das Dependency Dashboard?

Das Dependency Dashboard ist ein Issue, das Renovate im Repository anlegt und laufend aktualisiert. Es listet offene, geplante, wartende und blockierte Updates auf. Über Checkboxen könnt ihr einzelne Updates sofort anstoßen oder zurückgestellte Pull Requests neu erzeugen. So behält das Team den Stand aller Abhängigkeiten im Blick, ohne jeden Pull Request einzeln zu öffnen.

Wie verhindere ich zu viele Pull Requests?

Setzt einen festen Zeitplan, etwa einmal pro Woche. Gruppiert Pakete, die zusammen veröffentlicht werden. Begrenzt parallele Pull Requests mit prConcurrentLimit und prHourlyLimit. Lasst kleine Updates für Dev Abhängigkeiten automatisch mergen, wenn die Pipeline grün ist. Mit diesen Regeln kommen Updates gebündelt und planbar, statt jeden Tag den Arbeitsfluss zu unterbrechen.

Ist Automerge mit Renovate sicher?

Automerge ist so sicher wie eure Tests. Mit Unit Tests, statischer Analyse und E2E Tests in der Pipeline ist es für Patch Updates und Dev Abhängigkeiten eine große Entlastung. Ohne Tests prüft der grüne Haken praktisch nichts. In Legacy Projekten ohne Absicherung schaltet ihr Automerge besser aus und baut zuerst Quality Gates auf.

Kann Renovate Docker Images und GitHub Actions aktualisieren?

Ja. Renovate erkennt Image Tags in Dockerfiles, Docker Compose Dateien und Kubernetes Manifesten sowie die Versionen von Actions in GitHub Workflows. Auf Wunsch pinnt der Bot Images und Actions per Digest und aktualisiert diesen bei neuen Versionen. Damit kann ein verändertes Tag nicht unbemerkt anderen Code in eure Pipeline bringen.

Wie hilft NCA bei der Einführung von Renovate?

Wir starten mit einem kostenlosen Kennenlernen und schauen auf eure Repositories, Pipelines und Tests. Danach schätzen wir den Aufwand und richten Renovate mit passenden Regeln ein, inklusive Quality Gates, falls sie noch fehlen. Abgerechnet wird transparent nach Minuten. So bekommt ihr automatische Updates, denen euer Team wirklich vertrauen kann.