Zum Hauptinhalt springen

HALLO & WILLKOMMEN BEI

METAWAYS INFOSYSTEMS


HOSTINGAPPLICATION

HOSTING & APPLICATION
FOR YOUR BUSINESS

Hochverfügbare Infrastrukturen und Architekturen mit einem umfangreichen Angebot passgenauer Dienstleistungen und Lösungen, egal ob Shopware, Spryker, E-Commerce oder TYPO3: einfach PREMIUM.

METAWAYS SPOTLIGHT

Was wir noch sagen wollten ...

 

BUILD-SCHÖN

Continuous Delivery weitergedacht. Das große Ziel von Continuous-Delivery-Prozessen muss es sein, die "Schmerzen" immer weiter nach links, also an den Anfang der Pipeline, in Richtung der Entwickler zu verschieben.

Je früher es eine eindeutige Version in einem fest definierten Zustand gibt, desto unkomplizierter werden selbst komplexe Deployments. Gerade in einem agilen Umfeld wie bei Spryker kann ein Build-Server den gewünschten Linksruck erzeugen.

In der Grundkonstellation durchläuft eine Spryker-Veröffentlichung diverse Prozesse: Vom Git über Composer und npm zu webpack oder anderen Frontend-Compilern bis zu Code-Generatoren am Ende der Toolchain. Dieser ganze Prozess ist zeitaufwändig und hat eine Reihe von Abhängigkeiten auf externe Ressourcen. Darüber hinaus sind die Ergebnisse vieler Tools versionsabhängig. Ein Build, der auf einem Tier/Stage erfolgreich war, kann auf einem anderen System fehlschlagen, oder - was noch gemeiner ist – Abweichungen aufweisen, die nicht sofort auffallen.

Es treten dabei immer wieder ähnliche Fragen auf: Haben alle Entwickler und Stages die gleiche Version der Tools? Arbeiten alle auf einem identischen Setup ihrer Entwicklungsumgebung? Wie sieht es auf dem Server aus?Sind die externen Ressourcen verfügbar? Diese Fragen werden obsolet, wenn man einen Build-Server in den Continuous-Delivery-Prozess einbindet.

Warum?

Ein Build-Server ermöglicht kleinteilige, atomare Deploys, da das Release am Stück vorliegt und nicht erst im Rahmen der Veröffentlichung entsteht. Ebenso ist ein unmittelbares Umschalten auf das neueste Release möglich. Dadurch, dass keine weiteren Build-Tools auf Produktiv-Umgebungen mehr eingesetzt werden, entstehen keine neuen Abhängigkeiten während des Deploys auf externe Registrys und die Ergebnisse der Tools selbst. Die eindeutige Version des Build-Artefakts bildet dann die Grundlage für weitere Tests und die  Kundenkommunikation. Identische Setups der weiteren Tiers oder Stages, wie einer Preview-Umgebung und folgend das Produktiv-System, stellen somit sicher, dass Probleme bereits in der Dev-Umgebung dem Entwickler auf die Füße fallen und im frühen Stadium gefixt werden, damit keine neuen Probleme durch den Build-Prozess entstehen können.

Was?

Was der Build-Server letztlich als Artefakt ausspuckt, ist sehr flexibel. Vom tarball über Debian- oder rpm-Pakete, Containern bis hin zu kompletten VMs ist alles möglich.

Aber Achtung: Du musst darauf achten, dass Konfigurationen mit Umgebungsvariablen, wie beispielsweise unterschiedlichen URLs oder Datenbanken verschiedener Stages im Build dynamisch behandelt werden und von außen parametrisiert werden können. Aus dem Grund solltest Du bei folgenden Aspekten auch frühzeitig Verantwortlichkeiten klären:

  • Wann ist der Hoster zuständig? (Zugänge, Pfade usw.)
  • Was obliegt dem Entwickler (z.B. Schnittstellen zu ERP oder Google Analytics usw.)?

Ihr solltet auch die Configs trennen – die Hoster-Config kommt übers ENV, alles andere ist Teil des Projekts im git! Nur so ist sichergestellt, dass es einen identischen Build für alle Umgebungen geben kann.

Wie?

Die Toolchain des Build-Servers kann vielerlei Gestalt annehmen. Für die Builds sucht ihr euch eure Favoriten aus: Shellscripts, psh (php shell helpers), rocketeer, deployer, capistrano grant, gulp … Die Tools sollten dabei Teil des Projektes sein, damit sie im Repository versioniert oder via versionierter Abhängigkeit auf einem einheitlichen Stand gehalten werden.

Einen Build-Service inklusive Ticketing kann man gut als Agentur-Leistung aufbauen, auch wenn gerade Corporate-Kunden gerne ihre Hand darauf haben wollen, um sich nicht in zu hohe Abhängigkeit zu begeben oder ein Multi-Agency-Setup zu betreiben. Auch da hilft die flexible Build-Pipe sehr, um am Ende unterschiedliche Plattformen wie Jenkins, Bamboo oder Gitlab bespielen zu können.

Fazit

Ein Build-Server ist kein Hexenwerk, erleichtert die tägliche Arbeit in agilen Teams und hebt Continuous-Delivery-Prozesse auf eine neue Stufe. Für Agenturen eröffnet sich ein echter Mehrwert, der vor allem in Verbindung mit einem mehrstufigen Hosting-Konzept zu entspannenden Deployments führt, die sogar Freitag nachmittags keine Bauchschmerzen mehr bereiten. Einfach Build-schön!

 

KIELER LINUXTAGE

Am 20. und 21. September finden die 17. Kieler Open Source und Linux Tage statt. Auch Metaways ist mit der Groupware Tine 2.0 vor Ort und freut sich auf sich auf Ihren Besuch.

Weitere Informationen unter https://kielux.de/162

 

HAMBURGER TAFEL

Die Hamburger Tafel sammelt überschüssige Lebensmittel ein und verteilt sie an 27 Lebensmittelausgabestellen in und um Hamburg. Die größtenteils ehrenamtliche Arbeit unterstützt Metaways durch kostenfreies Hosting.

Wenn Sie ebenfalls vor Ort sind, informieren Sie sich doch z.B. in Halle 7.1, Stand C010 über das innovative E-Commerce-System von Spryker. Oder gehen Sie ein bisschen weiter an Stand C030 und verschaffen Sie sich einen Einblick in das nagelneue Shopware 6. Wenn Sie von den Lösungen genau so überzeugt sind wie wir - sprechen Sie uns an, wir zeigen Ihnen gerne unsere ausgeklügelten Hosting-Strategien für Ihre E-Commerce-Plattform.