Ankündigung

Einklappen
Keine Ankündigung bisher.

Deployment von PHP Anwendungen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Deployment von PHP Anwendungen

    Hallo leute,

    ich wollte mal von anderen mal erfahren wie ihr am Besten eure Anwendungen deployed.

    Also Ich habe ganz am Anfang(wahrscheinlich wie jeder) erst mit FTP über Filezilla dann in der IDE gemacht. Funktioniert wunderbar wenn man allein an einem Code entwickelt, 2 uploads gleichzeitig können dinge kaputtmachen.

    Dann entdeckte ich Git und die Projekte wurden über ein Cronjob auf dem Server aktualisiert. Problem dabei sind aber weitere Tasks die Man ausführen will nach dem Update, zb DB Migration ausführen, Bei neu Installation Config anpassen, wenn sich Config Struktur verändert hat, diese dann auch irgendwie Anpassen.

    Jetzt sind dazu noch CI Server und Analyse tools dazu gekommen, weil es ja öfters passiert ist dass man vergessen hat den Test lokal auszuführen oder auf dem Server irgend eine Einstellung nicht ganz korrekt war und somit das endergebnis nicht lief, obwohl Tests durchgelaufen sind.

    Neulich habe ich dann Capistrano gefunden, die Idee ist eigentlich interessant, man hat ein Deployment enviroment die alle Server usw kennt und man "pusht" von der Deployment enviroment auf die Server.
    Zusätzlich ist Capistrano eben eine Ruby anwendung, d.h ich muss meine Settings als .rb dateien definieren und teilweise yml und ich brauche Ruby usw usw.. bin aber PHP Entwickler.

    Habe mich dann umgeschaut und es sieht wohl so aus dass es daneben noch http://deployer.in/ und noch weitere PHP Basierende Tools exestieren.

    Was ich mir nun als Deployment System ausgedacht habe, wäre
    Auf Raspberry PI installiere ich gitolite, phpci und deployer, in gitolite wären meine Privaten Projekte drin, phpci kennt diese Projekte und kann die Tests und Analysetools ausführen, wenn alles ok ist springt deployer an und pusht dann das Projekt je auf den/die Server.

    Problem wäre dass ich irgendwie eine Configurationsverwaltung machen müsste, also was für Rezepte deploeyer benutzen soll und welche config files es hochladen soll. Könnte man sich dann überlegen alle Projekteinstellungen in einem Git Repository zu lagern oder pro projekt gäbe es ein deployment projekt mit konfigurationen.

    Aber bis ich mich jetzt da hinsetze und anfange rumzufrickeln wollte ich mich informieren ob es nicht vielleicht eine "modernere" Lösung gibt?

    Hoffe auf einige Tipps von erfahreneren hier

    Viele Grüße
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

  • #2
    Ich würde die Deployment-Skripte/Rezepte auch im Applikationsverzeichnis mit lagern Bei Laravel kann man da zB eine Envoy.blade.php im AppRoot erstellen: http://laravel.com/docs/ssh#envoy-task-runner

    Was meinst du mit "welche Konfigurationsfiles es hochladen soll"? Ich lade immer alle Config files hoch (etwa config/local/... , config/testing/... ), die Applikation entscheidet dann anhand des Hostnamens welche geladen wird.

    edit// Sehe grade, dass mein Link nicht geht. Man muss oben Version 4.2 auswählen und dann nochmal klicken. Sonst landet man nicht da...

    Kommentar


    • #3
      naja die Rezepte kann man halt wunderbar nutzen wenn man eigene Virtuelle Machinen als Server hat die man eventuell mit Vagrant/Docker etc aufgesetzt hat, hat man diese nicht muss man Pro anbieter ein eigenes Rezept haben, je nachdem wo dein Script später gehostet wird kann es sein dass die Verzeichnis struktur ja dann anders ist.

      Zu den Configs, wieder , je nach server sind es halt unterschiedliche Konfigurationen bezüglich Datebank verbindung und mailer einstellungen.

      Ich habe irgendwie das Gefühl dass die Deployment Scripte wirklich nur auf eigene Systeme ausgelegt sind außerdem halte ich ungerne konfigurationsdateien im Git Repository des Projektes.
      apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

      Kommentar

      Lädt...
      X