Lokale Entwicklungsumgebung

Veröffentlicht am 03.11.2021 von Marc Willmann
Lesezeit ca. 0 Min.

Wie wir Software entwickeln, Teil 2:
Lokale Entwicklungsumgebung

Im ersten Teil unserer Serie über unseren Weg, gute Software zu entwickeln, haben wir die Wichtigkeit der Nutzung einer Versionsverwaltung beleuchtet. In dem heutigen Beitrag geht es darum, wie wir schnell und unkompliziert Projekte lokal aufsetzen, um überhaupt arbeitsfähig zu sein. 

Moderne Web-Applikationen nutzen zahlreiche Komponenten; damit überhaupt etwas im Browser angezeigt werden kann, benötigen wir einen Web-Server wie Apache oder Nginx, PHP in der jeweils korrekten Version, eine Datenbank aber auch zahlreiche weitere Software, um Bilder zu manipulieren, APIs anzusprechen oder einen Suchserver wie z.B. solr. Und natürlich benötigen wir all dies - idealerweise in einer identischen oder zumindest sehr ähnlichen Konfiguration - auf jedem einzelnen Entwicklungsrechner. 

Zusätzlich müssen die Daten des Live-Systems zumindest halbwegs aktuell auf die Entwicklungsumgebung eingespielt werden können; z.B. um einen Fehler nachstellen zu können, der seine Ursache im Code oder aber auch durch eine falsche Eingabe von Daten haben kann. 

Um diesen Anforderungen gerecht zu werden, haben wir schon früh mit Virtualisierungssystemen gearbeitet und schließlich mit DDEV, einem dockerbasierten lokalen Entwicklungssystem, unsere Lösung gefunden. 

Zum einen können wir über Docker-Container alle Softwarekomponenten, die wir für ein Projekt benötigen, zusammenstellen. Auch mehrere Projekte gleichzeitig mit sehr unterschiedlichen Voraussetzungen sind kein Problem, was manchmal für das gleichzeitige Testen von Client-/Serverkomponenten unabdingbar ist.

Auch die gesamte DDEV-Konfiguration ist bei uns unter Versionskontrolle; das bedeutet, dass ein Entwickler ein neues Projekt innerhalb von Minuten aus der Versionskontrolle aus-checkt und mittels eines Befehls eine arbeitsfähige Kopie auf der lokalen Maschine hat. Damit haben wir die Setupzeiten für Projekte optimiert. 

Auch ein aktueller Datenbankstand und File-Assets (jeweils vom Vortag) werden mit einem Befehl von einem Zwischenspeicher auf den lokalen Rechner synchronisiert. Selbst sehr umfangreiche Projekte haben wir damit in weniger als 15min auf dem Rechner eines Entwicklers arbeitsfähig. Bei Bedarf werden die Daten automatisch anonymisiert, darauf gehe ich in einem späteren Teil dieser Reihe nochmals genauer ein.

Für unsere Kunden bedeutet das: Schnellere Ergebnisse und weniger Onboarding-Zeit. Unsere Entwickler freuen sich über einen standardisierten Projektaufbau und können sich auf das Wesentliche konzentrieren, ohne Zeit im Projektsetup verschwenden zu müssen. 
 

Durch den standardisierten Aufbau unserer Projekte finden sich unsere Entwickler in kürzester Zeit in all unseren Projekten zurecht. Das Aufsetzen eines neuen Projekts dauert nicht länger, als sich eine frische Tasse Kaffee aus der Küche zu holen - und frisch koffeiniert und mit dem lauffähigen Projekt stürzen sich unsere Entwickler gerne in die Aufgaben. :) 

Im nächsten Teil dieser Artikelserie stellen wir sicher, dass die Software überall läuft und nicht nur auf dem Entwicklungsrechner.

Ihr Feedback

Schreiben Sie uns Ihre Meinung zu unserem Blog-Beitrag. Bei Fragen beraten wir Sie gerne und freuen uns über Ihre Nachricht!

Ihre E-Mail Adresse wird nicht veröffentlicht.

* Diese Felder sind erforderlich

Kommentar schreiben

Weitere Artikel

20.10.2021 | Marc Willmann

Versionsverwaltung

In dieser Artikelserie möchte ich einen Einblick geben, wie wir bei F7 Software entwickeln und welche Zahnräder ineinander greifen. Im ersten Teil geht es um Grundsätzliches: Die Nutzung einer Versionsverwaltung!

Weiterlesen

15.11.2021 | Marc Willmann

Build Chain

Unsere Build-Chain ist ein wichtiges Instrument für zahlreiche Automatisierungen: vom Zusammenbauen der Applikation, Prüfung auf Einhaltung der Coding Guidelines bis zum Deployment.

Weiterlesen