Eine Entwicklungsumgebung für wordpress

Wenn man auf meh­re­ren Platt­for­men, an unter­schied­li­chen Orten und/oder an ver­schie­de­nen (word­press-) Pro­jek­ten arbei­tet, wünscht man sich irgend­wann eine Ent­wick­lungs­um­ge­bung, die man zen­tral mit den Daten aller Pro­jek­te ein­rich­tet und von über­all ein­fach errei­chen kann. Was eig­net sich dafür bes­ser als mein NAS-Ser­ver und Docker?

Ach­tung! Die­ser Arti­kel ist eine Bau­stel­le und wird erst nach und nach fer­tig­ge­stellt. Also bit­te alle Aus­sa­gen zunächst mit Vor­sicht behan­deln und selbst nach­prü­fen!

Es gibt vie­le Ansät­ze, eine sol­che Umge­bung auf­zu­bau­en. Grund­la­ge soll in jedem Fal­le Open-Source-Soft­ware sein. Neben der Sym­pa­thie für den OSS-Gedan­ken spie­len bei die­ser Vor­ga­be natür­lich die Kos­ten eine ent­schei­den­de Rol­le: ein pri­va­ter Ent­wick­ler ohne Gewinn­ab­sich­ten kann kaum grö­ße­re Sum­men in sei­ne Soft­ware­aus­stat­tung inves­tie­ren.

Erste Entscheidung: die IDE

Die ers­te Ent­schei­dung fällt bei der Aus­wahl der IDE. Schon bei mitt­le­ren Pro­jek­ten ist sie qua­si Pflicht, erleich­tert sie doch unge­mein den Über­blick über meist spä­ter doch aus­ufern­de Pro­jek­te und hilft mit unter­stüt­zen­den Funk­tio­nen wie Code-High­ligh­t­ing, -Ver­voll­stän­di­gung und Refac­to­ring.

Neben meh­re­ren Eclip­se-basier­ten IDEs ist vor allem Net­be­ans mit sei­ner her­vor­ra­gen­den PHP-Inte­gra­ti­on und Debug­ging-Mög­lich­kei­ten einen Blick wert. Ich arbei­te damit seit Jah­ren, nach­dem ich mich lan­ge Zeit mit Eclip­se gequält hat­te.

Für die Arbeit mit Word­Press exis­tiert sogar ein Plugin, das bei der Pro­jekt-Erstel­lung für neue Plugins oder The­mes und der Pake­tie­rung unter­stützt. Im Moment fehlt lei­der eine Ver­si­on für die aktu­el­le Net­be­ans-Ver­si­on 10, was sich aber hof­fent­lich dem­nächst ändern wird.

Die IDE wird auf jedem Ent­wick­lungs­rech­ner lokal instal­liert und nutzt dort eine loka­le Repli­ka­ti­on des Soft­ware-Repo­sito­ry.

Versionsverwaltung

Zu Beginn eines jeden Pro­jekts mag man glau­ben, dass eine Ver­si­ons­ver­wal­tung mit Kano­nen nach Spat­zen schie­ßen wür­de. Aber spä­tes­tens, wenn man sich nach Mona­ten wie­der an eine Ände­rung oder Erwei­te­rung sei­ner Soft­ware macht, wird man die Ent­schei­dung für ein VCS lie­ben ler­nen.

Git ist hier der Platz­hirsch. Wenn man ein exter­nes Repo­sito­ry bei einem Pro­vi­der wie Git­hus oder Bit­lo­cker nut­zen will, hat man sicher kei­ne ande­re Wahl.

Wenn man sein Repo­sito­ry selbst hos­ten will, erweist sich Git aber schnell als ein Moloch mit einer Unmen­ge an Kom­po­nen­ten und Abhän­gik­ei­ten, die Instal­la­ti­on und Betrieb zu einem Alb­traum wer­den las­sen.

Eine sehr viel ein­fa­che­re Mög­lich­keit für Ein­zel­ent­wick­ler und klei­ne Grup­pen ist das in Go ent­wi­ckel­te Gogs. Es braucht ledig­lich eine Daten­bank (MySQL/MariaDB, Post­greeSQL, Redis oder mem­cached) und die Bina­ries, die für vie­le Platt­for­men ver­füg­bar sind. Mit Docker und einer exis­tie­ren­den Daten­bank ist Gogs in weni­gen Minu­ten auf­ge­setzt (sie­he auch den Gogs-Arti­kel).

Cli­ent-sei­tig ver­hält sich Gogs wie ein Git-Ser­ver, so dass man die Git-Unter­stüt­zung der IDE oder belie­bi­ge ande­re Git-Cli­ents nut­zen kann. Die Arbeit damit wird ein zukünf­ti­ger Arti­kel zum The­ma haben.

Der Testserver

Um Pro­jek­te zu tes­ten, braucht man einen Test­ser­ver, auf dem die jewei­li­ge Ver­si­on immer frisch instal­liert wer­den kann. Auch dazu bie­ten sich natür­lich Docker-Con­tai­ner des NAS an. Die spe­zi­el­len Anfor­de­run­gen beschreibt ein eige­ner Arti­kel.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.