bakehouse.dev

    Grundlagen

    Warum Entwicklung auf bakehouse.dev?

    • Wir entwickeln auf derselben Umgebung wie auf den Servern der myNET.
    • Es können lokale Tools wie VS Code oder Source Tree verwendet werden.
    • Fehler in der Entwicklung wirken sich nicht auf das Produktiv-System aus.

    Webspace aufsetzen

    Unter https://master.bakehouse.dev:8080 im ISPConfig Folgendes einstellen:

    • Client anlegen (hugo.bakehouse.dev)
    • DNS CName anlegen (hugo.bakehouse.dev. -> master.bakehouse.dev.)
    • Webspace anlegen (inklusive SSL und Apache Derective für Public Ordner)
    • -> Apache Directives: DocumentRoot "{DOCROOT_CLIENT}/public"
    • DB_Nutzer anlegen (dev_hugo)
    • DB anlegen (dev_hugo)
    • SSH User anlegen (dev_hugo)
    • Mit SSH in den /web/ Ordner verbinden 
    • web Ordner leeren (alles löschen)
    • Bakehouse mit folgendem Befehl aus Git clonen (. nicht vergessen):
    Apache Config
    ### SSH - empfohlen ### # Projekt clonen/herunterladen git clone ssh://git@app1.bakehouse.at:10022/cookis/bakehouse.git . git submodule update --init
    Apache Config
    ### HTTPS ### # Projekt clonen/herunterladen git clone https://git.bakehouse.at/cookis/bakehouse.git . git submodule update --init
    • .env.example auf .env kopieren und Daten befüllen
    • Projekt importieren - mit lokalem (!) Terminal folgenden Befehl für den Import ausführen:
    Apache Config
    # Remote Terminal # die Verbindung muss mit Forwar Agent (-A Flag aufgebaut werden) # zusätzlich muss beim Mac der Key im SSH Agent liegen (ssh-add) # im "web" Verzeichniss ausführen bash import.sh #optional - direkt ein Projekt importieren bash import.sh projektdomain.com
    Apache Config
    # mit lokalem Terminal # -A steht für forward agent - hier werden die Credentials vom Laptop/PC übernommen ssh -A dev_hugo@hugo.bakehouse.dev 'cd web && bash import.sh'
    • Den Access Key mit folgendem Befehl zur globalen npm config hinzufügen (Token des Users "cookis_src"; ist im PassBolt hinterlegt)
    Apache Config
    npm config set //git.bakehouse.at/api/packages/cookis/npm/:_authToken=[KEY]
    • Vite Interface zuerst builden:
    Apache Config
    composer build-interface
    • Optional - mit .env DEV_INTERFACE-Flag: Interface Server (Vite) mit folgendem Befehl (port forwarding vom VS Code muss aktiviert und die Remote Extensions installiert sein):
    Apache Config
    composer serve-interface

    Standard Git-Config

    Folgende Einstellungen sollten unter .git/config im Dev-Webspace gesetzt werden:

    JSON
    [pull] rebase = true

    Datenbank Zugriff

    Über SSH Tunnel wie gewohnt. Passwort ist in /root/.my.cnf.

    ENV-Variablen für Entwicklung

    In der .env-Datei können folgende Flags für die Entwicklung gesetzt werden:

    Text
    DEV_INTERFACE=1 # Damit das BH-Interface vom 'composer serve-interface' verwendet wird und nicht der Build DEV_ACCESSIBILITY_WIDGET=1 # Damit das Accessibility-Widget von der lokalen Entwicklungsumgebung verwendet wird DEV_HAPI_WIDGET=1 # Damit die HAPI-Widgets von der lokalen Entwicklungsumgebung verwendet wird DEV_MEDIA=1 # Damit die media.bakehouse.dev statt der .at verwendet wird DEV_HAPI_SERVER=1 # Damit die hapi.bakehouse.dev statt der .at verwendet wird