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