© istockphoto.com/Tomacco, © istockphoto.com/akindo
PHP Magazin
Anforderungen an Build-Systeme im Jahr 2017

PSH Build Middleware Management

Das Thema Build-Skripte wird im PHP-Umfeld immer wichtiger - dank Virtualisierung, dem verstärkten Einsatz von Middleware in der Applikationsarchitektur und dem Aufkommen von immer neuen Tools, die Teilaspekte der Applikationsentwicklung und -pflege drastisch vereinfachen.

Thomas Eiling, Jan Philipp Pietrzyk


Der Status quo im Jahr 2017 ist ein ganz anderer als noch vor zwei oder mehr Jahren. Diese neuen Anforderungen auf bereits bestehenden Systemen abzubilden, fällt dabei zusehends schwerer. Im folgenden Artikel wollen wir eine Abgrenzung dieser neuen Anforderungen wagen und mit PSH einen möglichen Lösungsvorschlag präsentieren.

Aktuelle Build-Systeme, wie z. B. Ant, bieten viele Möglichkeiten, um Prozesse zu automatisieren, doch benötigen für einen effektiven Einsatz einen zeitintensiven Einarbeitungsaufwand. Zusätzlich müssen in der Regel Abhängigkeiten wie Java o. Ä. installiert sein, die die eigentliche Applikation gar nicht zur Ausführung benötigt. Build-Systeme entwickeln sich zusehends zu einer Middleware, da sie immer mehr Systeme und Dienste miteinander verknüpfen müssen (Abb. 1).

Abb. 1: Middleware im PHP-Umfeld

Auf der einen Seite müssen verschiedene Environments für die Entwicklung und Continuous Integration provisioniert werden, andererseits muss die Applikation abhängig von dem Environment spezifisch konfiguriert werden können. Die Instanzen unterscheiden sich in der Regel durch unterschiedliche Zugangsdaten und Pfad­angaben. Des Weiteren ist zum Beispiel in einem automatisch generierten Release-Package PHPUnit nicht notwendig. Aus den beschriebenen Szenarien ergeben sich schnell verschiedene Kombinationsmöglichkeiten von Environments und notwendigen Skripten (Tabelle 1).

EnvironmentSkripteLocalInitialisierung der Applikation, Ausführung der Testsuite, Cache der Applikation leerenLocal DockerInitialisierung der Applikation, Ausführung der Testsuite, Cache der Applikation leeren, Docker-Container verwalten, Continuous Integration, Softwarequalitätsmetriken überprüfenVagrant/WindowsEntwicklung, Releasepackage erstellenContinuous Integration DockerAusführung der Testsuite, Cache der Applikation leeren, Daily-Builds, Softwarequalitätsmetriken überprüfen, Releasepackage bauenLiveAktualisierung der Applikation

Tabelle 1: Applikationsumgebungen

Aus unserem Entwicklungsalltag und Erfahrungen aus mehreren Open-Source-Projekten ergeben sich nachfolgend dargestellte Anforderungen an ein Build-System, die sich mit den meisten Anforderungen von Webanwendungen decken.

Einfache Orchestrierung von Services und Systemen

Es gibt für einen Programmierer verschiedene Möglichkeiten, eine Entwicklungsumgebung aufzusetzen. Die geläufigsten sind Vagrant, Docker oder eine vollständige lokale Installation aller notwendigen Serverdienste. Wie man in Abbildung 2 sehen kann,...

PHP Magazin
Anforderungen an Build-Systeme im Jahr 2017

PSH Build Middleware Management

Das Thema Build-Skripte wird im PHP-Umfeld immer wichtiger - dank Virtualisierung, dem verstärkten Einsatz von Middleware in der Applikationsarchitektur und dem Aufkommen von immer neuen Tools, die Teilaspekte der Applikationsentwicklung und -pflege drastisch vereinfachen.

Thomas Eiling, Jan Philipp Pietrzyk


Der Status quo im Jahr 2017 ist ein ganz anderer als noch vor zwei oder mehr Jahren. Diese neuen Anforderungen auf bereits bestehenden Systemen abzubilden, fällt dabei zusehends schwerer. Im folgenden Artikel wollen wir eine Abgrenzung dieser neuen Anforderungen wagen und mit PSH einen möglichen Lösungsvorschlag präsentieren.

Aktuelle Build-Systeme, wie z. B. Ant, bieten viele Möglichkeiten, um Prozesse zu automatisieren, doch benötigen für einen effektiven Einsatz einen zeitintensiven Einarbeitungsaufwand. Zusätzlich müssen in der Regel Abhängigkeiten wie Java o. Ä. installiert sein, die die eigentliche Applikation gar nicht zur Ausführung benötigt. Build-Systeme entwickeln sich zusehends zu einer Middleware, da sie immer mehr Systeme und Dienste miteinander verknüpfen müssen (Abb. 1).

Abb. 1: Middleware im PHP-Umfeld

Auf der einen Seite müssen verschiedene Environments für die Entwicklung und Continuous Integration provisioniert werden, andererseits muss die Applikation abhängig von dem Environment spezifisch konfiguriert werden können. Die Instanzen unterscheiden sich in der Regel durch unterschiedliche Zugangsdaten und Pfad­angaben. Des Weiteren ist zum Beispiel in einem automatisch generierten Release-Package PHPUnit nicht notwendig. Aus den beschriebenen Szenarien ergeben sich schnell verschiedene Kombinationsmöglichkeiten von Environments und notwendigen Skripten (Tabelle 1).

EnvironmentSkripteLocalInitialisierung der Applikation, Ausführung der Testsuite, Cache der Applikation leerenLocal DockerInitialisierung der Applikation, Ausführung der Testsuite, Cache der Applikation leeren, Docker-Container verwalten, Continuous Integration, Softwarequalitätsmetriken überprüfenVagrant/WindowsEntwicklung, Releasepackage erstellenContinuous Integration DockerAusführung der Testsuite, Cache der Applikation leeren, Daily-Builds, Softwarequalitätsmetriken überprüfen, Releasepackage bauenLiveAktualisierung der Applikation

Tabelle 1: Applikationsumgebungen

Aus unserem Entwicklungsalltag und Erfahrungen aus mehreren Open-Source-Projekten ergeben sich nachfolgend dargestellte Anforderungen an ein Build-System, die sich mit den meisten Anforderungen von Webanwendungen decken.

Einfache Orchestrierung von Services und Systemen

Es gibt für einen Programmierer verschiedene Möglichkeiten, eine Entwicklungsumgebung aufzusetzen. Die geläufigsten sind Vagrant, Docker oder eine vollständige lokale Installation aller notwendigen Serverdienste. Wie man in Abbildung 2 sehen kann,...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang