Entwickler-Guide
Dieser Artikel ist für all jene geeignet, welche an dem Cockpit-Dogu entwickeln möchten. Er beschreibt alle notwendigen Abläufe von dem Aufsetzen der IDE bis zum Erstellen des Dogus. Hierbei unterscheiden wir an Änderungen am Dogu und an dem Cockpit.
Voraussetzungen
-
Es ist notwendig die folgenden Programme zu installieren:
- git - siehe Link
- Node.js - siehe Link - benötigte Version: 12.14.0
- npm - siehe Link - benötigte Version: ^6.13.4
- Ruby - siehe Link
- SQLite - siehe Link
- docker-compose - siehe Link
- Bower -
npm install --global bower
- yarn -
npm install --global yarn
- Gulp -
npm install --global gulp --force
/ möglicherweise muss im Anschluss eine neue Shell gestartet werden
Aufsetzten der Entwicklungsumgebung
-
Klone das Repository:
git clone https://github.com/cloudogu/cockpit.git
Entwicklung am Cockpit-Dogu
Voraussetzungen
- Eine laufende Vagrant-Maschine für das CES
Cockpit-Dogu Bauen
Der Buildprozess des Dogus wird immer in der Vagrant-Maschine ausgeführt.
- Wechsel in das Root-Verzeichnis des Portainer-Dogus (in vagrant)
-
Baue das Dogu
cesapp build .
Jetzt sollte das Dogu automatisch gebaut, aktualisiert, und gestartet werden.
Entwicklung an der Cockpit-Webapp
Voraussetzungen
Für eine lokale Entwicklung müssen die Abhängigkeiten der Webapp installiert werden:
cd app
- in das Webapp-Verzeichnis wechselnyarn install
- installiert die Abhängigkeiten für den Serverbower install
- installiert die Abhängigkeiten für das Frontenddocker-compose up
- startet einen PostgresSQL Container
Lokalen Entwicklungsserver starten
Mit dem Befehl gulp serve
wird ein lokaler Entwicklungsserver gestartet.
Der Befehl sollte automatisch den Client in Ihrem Browser öffnen, wenn er abgeschlossen ist.
Webapp bauen
Mit dem Befehl grunt build
lässt sich die Webapp bauen.
Webapp Tests ausführen
Mit dem Befehl yarn test
werden die Unit-Tests mit karma ausgeführt.
Lokales Cockpit mit Remote laufendem EcoSystem-CAS einrichten
Auszuführen im EcoSystem
Als erstes muss der Entwicklungsmodus des CAS aktiviert werden, indem der Befehl etcdctl set /config/_global/stage development
innerhalb des EcoSystems ausführen wird.
Danach muss der CAS neugestartet werden.
Lokal auszuführen
Setzten sie die notwendigen Information in der Datei app/server/config/environment/development.js
:
casEnabled: true,
fqdn: 'http://[HOST-IP]:[PORT]',
casUrl: 'https://[CAS-SERVICE-IP]/cas',
https: false
Setzte die Umgebung in der startup.sh
auf development
:
NODE_ENV=development node server/
Fehlerbehebung (lokale Einrichtung):
-
Wenn Sie Probleme mit den Zertifikaten haben, können Sie die folgenden Einträge in der
express.js
ändernservice_url: 'http://'+config.fqdn+'/cockpit', proxyCallback_url: 'http://'+config.fqdn+'/cockpit/api/v1/pgtCallback',