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
Deprecated
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