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 .
    • .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 und Benutzername ist in der .env des Webspaces.

    ENV-Variablen für Entwicklung

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

    Text
    block_import=0 # Damit wird das import.php Script blockiert default_import_domain=docs.bakehouse.at # Der default welcher bei "./import.sh" vorgeschlagen wird allowed_import_domains= # Regelt welche domains importiert werden dürfen DEV_INTERFACE=0 # Damit das BH-Interface vom 'composer serve-interface' verwendet wird und nicht der Build DEV_ACCESSIBILITY_WIDGET=0 # Damit das Accessibility-Widget von der accessibility.bakehouse.dev verwendet werden DEV_HAPI_WIDGET=0 # Damit die HAPI-Widgets von hapi.bakehouse.dev verwendet werden DEV_VUE_RENTAL_WIDGET=0 # Damit das Vue-Rental Widget vom Lokalen 'composer serve-widget vue_rental/vue_rental' verwendet wird DEV_BH_MAGENTO_WIDGET=0 # Damit das Magentp Widget vom Lokalen 'composer serve-widget bh_magento/bh_magento' verwendet wird DEV_MEDIA=0 # Damit die media.bakehouse.dev statt der .at verwendet wird DEV_HAPI_SERVER=0 # Damit die hapi.bakehouse.dev statt der .at verwendet wird DEV_PAYMENT=0 # Damit die payment.bakehouse.dev statt der .at verwendet wird DEV_SEARCH=0 # Damit die search.bakehouse.dev statt der .at verwendet wird DEV_LOGIN=0 # Damit die login.bakehouse.dev statt der .at verwendet wird DEV_PDF=0 # Damit die pdf.bakehouse.dev statt der .at verwendet wird DEV_MAILSERVICE=0 # Damit die mailservice.bakehouse.dev statt der .at verwendet wird