Zum Inhalt springen
Marketing Factory Digital GmbH
Kontakt
Logo Marketing Factory Digital GmbH
  • Agentur
    • Aktuelles
    • Über uns
    • Geschichte
  • Leistungen
    • Beratung, Analyse und Strategie
    • Programmierung und Entwicklung
      • Schnittstellen
      • PIM-/ERP-Anbindungen
      • Individualentwicklungen
      • Seamless CMS Integration
    • Hosting und Betreuung
      • Cloud-Strategien
      • Hosting Partner der Marketing Factory
    • Leistungen mit Dritten
  • Technologie
    • TYPO3
      • Aktuelle TYPO3-Versionen
    • Shopware
    • IT-Sicherheit
      • DDoS-Protection
      • Continuous Upgrading
      • Privacy First
    • Tech Stack
      • Bekenntnis zu Open Source
      • Technologieauswahl
      • PHP-Ökosystem
      • Containerisierung & Clustering
      • Content Delivery Networks
      • Suchtechnologien
  • Referenzen
    • Projekte
    • Kunden
      • Kundenliste
    • Screenshot der Homepage der neuen Maxion Wheels WebsiteNEU: Relaunch der Corporate Website von Maxion Wheels
  • Community
    • Community-Initiativen
  • Blog
  • Kontakt
  • Deutsch
  • English

Sie sind here:

  1. Blog
  2. Automatische Updates in unseren Projekten
U-Bahn Hamburg Haltestelle U4
  • Development
  • Tutorial
  • TYPO3
28.02.2020

Automatische Updates in unseren Projekten


Der typische IT-ler ist sein Schicksal manchmal selbst schuld: Wir beschäftigen uns am liebsten mit spannenden Herausforderungen, Technologien und Software-Stacks oder suchen nach neuen Dingen, die wir unseren Kunden verkaufen können. Irgendwann holt uns aber natürlich dann das Tagesgeschäft ein und wir müssen die ganzen Applikationen, die wir entworfen haben, auch noch betreiben. Dazu gehört dann auch das Einspielen von Updates und Sicherheitspatches für die verschiedenen 3rd-Party-Komponenten, die dabei zum Einsatz kamen. Aber mal ehrlich: Wer macht so etwas schon gerne?

Hinzu kommt, dass mit wachsender Komplexität die Häufigkeit, in der Updates anstehen, natürlich auch enorm ansteigt. Da ist es gar nicht so ungewöhnlich, dass im Schnitt alle zwei Tage in praktisch jedem Projekt irgendetwas zu tun ist. Und nicht zuletzt muss das Ganze auch irgendwie noch von irgendjemandem getestet werden.

Es bringt aber auch nichts, die Updates auszusitzen. Zum einen bringen Updates oft Verbesserungen mit sich, etwa in Sachen Performance. Zum anderen ist man nach aktueller Rechtslage ohnehin verpflichtet, regelmäßig für aktuelle Softwarestände zu sorgen.

Zeige größere Version von: Kanban-Karte für TYPO3-Update auf 8.7.30
Kanban-Karte für TYPO3-Update auf 8.7.30

Kleinschrittige Updates, aber bitte ohne Monsterbürokratie

Nun praktiziert die MFC seit Anfang 2019 bekanntermaßen Kanban. Da gehört es zum Konzept, dass jeder Mitarbeiter sich selbst die nächste Aufgabe sucht. Unnötig zu sagen, dass sich die Update-Karten nicht unbedingt großer Beliebtheit erfreuen. Logisch: Was im Prinzip nur ein composer update , gefolgt von ein bisschen Git-Geplänkel ist, ist natürlich nicht so spannend, wie die anderen Aufgaben, die es vielleicht gerade noch gibt. Man ist ja Problemlöser.

Und genau, weil wir gerne Probleme lösen, musste hier dringend etwas passieren, frei nach dem Motto: "Automate the Boring Stuff". Herausgekommen ist ein kleines Skript, das mehrere Dinge tut:

  1. Täglich läuft ein composer update im Projekt. Das Ergebnis wird in einem neuen Branch namens support/autoupdate committet.
  2. Sofern der Branch bereits existiert, überschreibt das Skript den bestehenden mit dem aktuellen Stand. Dadurch sammeln sich alle anstehenden Updates in einem Branch.
  3. Zum Schluss wird ein Merge Request in GitLab im Projekt angelegt und dem zuständigen Projektleiter zugewiesen. Dieser kann die hochgezogene Applikation testen und den Branch per Klick mergen.

Der gesamte Prozess läuft arbeitstäglich in der Nacht, d.h. wenn man morgens ins Büro kommt, sind die Update-Branches schon fertig und warten aufs Testen. Wir Entwickler werden damit bei Updates eigentlich nur noch im Fehlerfalle benötigt oder maximal noch, um am Ende ein Release zu erzeugen. Während die Projektleiter fleißig die – unausweichliche – Flut an anstehenden Updates QS-sen, können wir uns daher wieder den eigentlichen Herausforderungen widmen.

Das Autoupdater-Skript ist in PHP geschrieben, existiert allerdings aktuell nur in Form eines nicht "vorzeigbaren" Proof-of-Concept 😉 Wir arbeiten gerade daran, das Tool so weiter zu entwickeln, dass wir es auf GitHub opensourcen können. Sobald das geschehen ist, aktualisieren wir diesen Blogbeitrag.
Update: Unseren Autoupdater findest du inzwischen auf GitHub.

Übrigens, wenn du der Meinung bist "Das kann ich auch!", dann bewirb dich doch bei uns!

    Update Juni 2024

    Durch das Web Camp Venlo 2023 haben wir Renovate CLI  kennengelernt. Renovate übernimmt die zuvor beschriebenen Aufgaben und erzeugt in unserer CI-Pipeline Merge Requests zur Abnahme. Dabei unterstützt Renovate nicht nur Composer als Package Manager, sondern auch viele weitere Sprachen und Manager.

    Mittlerweile nutzen wir Renovate für fast alle bei uns eingesetzten Package Manager, darunter CSS, JavaScript und im Infrastrukturbereich Docker. Aus diesem Grund haben wir uns entschieden, die Pflege unseres Autoupdaters einzustellen und das Projekt zu archivieren.

    Christian Spoo

    "Mr. Fix-It" zwingt Soft- und Hardware gerne seinen Willen auf. Spricht fließend Meme und Picdump. Bei der Marketing Factory für die Bereiche Entwicklung und technische Konzeption zuständig.

    Weitere Beiträge dieses Autors

    Blog als RSS-Feed abonnieren

    Verwandte Beiträge

    • Anwenderfreundliche Individualisierungen des TYPO3-Backends
    • Container-Elemente sinnvoll erweitern
    • Einbindung der Static Templates über das TYPO3-Sitepackage
    • Relaunch der Website unseres Kunden Maxion Wheels auf Basis von TYPO3 12.4 LTS

    Wir freuen uns, wenn Ihr diesen Beitrag teilt.


    Kommentare

    Keine Kommentare gefunden.

    Kommentar verfassen.

    Ich bin darauf hingewiesen worden, dass die Verarbeitung meiner Daten auf freiwilliger Basis erfolgt und dass ich mein Einverständnis ohne für mich nachteilige Folgen verweigern bzw. jederzeit gegenüber der Marketing Factory Digital GmbH per Post (Erkrather Straße 401, D-40231 Düsseldorf) oder E-Mail (info@marketing-factory.de) widerrufen kann.

    Mir ist bekannt, dass die oben angegebenen Daten so lange gespeichert werden, wie ich die Kontaktaufnahme durch Marketing Factory wünsche. Nach meinem Widerruf werden meine Daten gelöscht. Eine weitergehende Speicherung kann im Einzelfall erfolgen, wenn dies gesetzlich vorgeschrieben ist.

    • Datenschutzerklärung
    • Impressum

    © Marketing Factory Digital GmbH

    Bildnachweise
    1. "U-Bahn Hamburg Haltestelle U4": Julian_Hamburg / Lizenz: Pixabay License (CC0 1.0)
    2. "Kanban-Karte für TYPO3-Update auf 8.7.30": © Christian Spoo / Marketing Factory Digital GmbH