Eliminierung technischer Schulden mit PHPStan, Rector PHP und PHPUnit. Über 20 Jahre Praxiserfahrung in skalierbaren Backends.
- Aktualisiert:
- Autor:
- Roland Golla
Was ist Renovate?
Inhalt
Renovate mit NCA: Schnelle Hilfe vom Experten
Gesetzliche Konformität & Inklusion. Optimierung von Performance und Conversion durch radikal nutzerzentriertes, universelles Design.
Skalierbare KI-Systeme mit echtem Code Ownership. CI/CD, Backup-Strategien und Infrastruktur, die mit deinem Team wächst.
So arbeitet Renovate im Alltag
- 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.
Renovate konfigurieren: Die renovate.json
{
"$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"
}
]
}
- 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
include:
- project: 'renovate-bot/renovate-runner'
file: '/templates/renovate.gitlab-ci.yml'
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 }}
Renovate vs Dependabot im Vergleich
| 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
Best Practices: Renovate ohne Pull Request Flut
- 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.
Locking down exactly what dependencies are present and not upgrading unless they pass tests.
Renovate in der NCA Praxis
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.
Häufige Fragen zu Renovate
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.