GitOps: Renovate einrichten und mit Bot Dependencies aktuell halten

Um Software sicher und Updates schlank zu halten, müssen Abhängigkeiten regelmäßig auf neue Versionen geprüft werden. Mit dem Renovate Bot geht das automatisch.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesezeit: 14 Min.
Von
  • Danny Steinbrecher
Inhaltsverzeichnis

Ohne Abhängigkeiten (Dependencies) geht es in der Softwarewelt kaum mehr. Fertige Pakete von außerhalb sparen zwar Entwicklungszeit, bergen jedoch die Gefahr leicht zu übersehender Schwachstellen, die als Common Vulnerabilities and Exposures (CVEs) geführt werden. Abhängigkeiten erfordern also einen gewissen Wartungsaufwand. Das eindrücklichste Beispiel für die tickende Zeitbombe, die vernachlässigte Dependencies darstellen, ist der Vorfall um das Java-Logging-Framework Log4j im Jahr 2021.

Von Katastrophen wie dieser abgesehen, müssen Updates und Bugfixes aber auch deshalb regelmäßig nachgeladen werden, weil bei größeren Versionssprüngen die Gefahr besteht, dass Teile der Software inkompatibel werden – aufwendiges Nachjustieren ist die Folge. Um so eine Regelmäßigkeit gewährleisten zu können, automatisiert man am besten: Das kann der Renovate Bot leisten.

Kubernetes
Danny Steinbrecher

Danny Steinbrecher ist IT-Consultant und Softwareentwickler bei der codecentric.

Der Renovate Bot, den der Anbieter des Tools mend.io eigentlich Mend Renovate getauft hat, kümmert sich um die Dependencies innerhalb einer Anwendung. Er schaut nach, auf welchem Stand sie sind, und vergleicht sie mit den neusten Versionen. Zusätzlich gibt es noch eine Einschätzung, wie groß das Update sein würde – von Patch (v1.0.0 −> 1.0.1) über Minor (v1.0.0 −> 1.1.0) bis zu Major (v1.0.0 −> 2.0.0). Anschließend erstellt Renovate einen Pull Request in GitHub, der je nach Konfiguration automatisch oder manuell gemergt wird. Den Prozess kann man auf die Anwendung zuschneiden, sodass Renovate Bot beispielsweise unkritische Minor Updates automatisch und größere Major Updates manuell mergt.