//Cloudogu EcoSystem Docs

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

  1. 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.

  1. Wechsel in das Root-Verzeichnis des Portainer-Dogus (in vagrant)
  2. 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:

  1. cd app - in das Webapp-Verzeichnis wechseln
  2. yarn install - installiert die Abhängigkeiten für den Server
  3. bower install- installiert die Abhängigkeiten für das Frontend
  4. docker-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 ändern

    service_url: 'http://'+config.fqdn+'/cockpit',
    proxyCallback_url: 'http://'+config.fqdn+'/cockpit/api/v1/pgtCallback',