Tipps und Tricks zur App Entwicklung

Aus ScaleIT Industrie 4.0 Wiki

Aus dem Nähkästchen eines ScaleIt-Entwicklers...

Tipp #1: Update Rancher-Template einer App

Wenn ein App-Release fertig gestellt wurde, d.h. es wurde vom Entwickler getestet und eine neue Rancher-Template-Version erstellt (unter Resources/AppPools/Rancher1.6/<appname>), dann muss das Rancher-Template im App-Pool-Git-Server aktualisiert werden.

Beispiel:

  • Hostname der ScaleIT-Instanz: scaleit01.intern
  • AppName: de-ondics-meineapp
  • Verzeichnis der App: /home/user/scaleit/de-ondics-meineapp
  • Verzeichnis der Rancher-Templates: /home/user/scaleit/rancher-templates

Das Rancher-Temnplate der App im App-Pool im Beispiel wie folgt aktualisiert werden:

   cd /home/user/scaleit
   # git -c http.sslVerify=false clone https://catalog-app-pool.scaleit01.intern/admin/de-ondics-meineapp
   git clone https://scaleit01.intern:8081/admin/de-ondics-meineapp
   cd de-ondics-meineapp/templates
   cp -rp ../../de-ondics-meineapp/Resources/AppPools/Rancher1.6/* .
   git config user.name "admin"
   git config user.email "admin@scaleit"
   git add .
   git commit -m "update neue template-version" -a
   # git -c http.sslVerify=false push origin master
   git push origin master

Und fertig. Das neue App-Template ist nun im Rancher verfügbar und wird im Rancher nach einer Katalog-Aktualisierung angezeigt.

Die Angaben mit -c http.sslVerify=false sind nur erforderlich, wenn der Zugriff nicht über Port 8081 erfogen kann.

Nicht vergessen, dass die Docker-Images ebenfalls in den App-Pool geschoben werden müssen. Das geht am besten mit im App-Root-Verzeichnis mit

   docker-compose push

Dazu wird eine docker-compose.yml Datei benötigt, die nur Infos zum Build-Verzeichnis und zum Imagenamen enthält, z.B.

   version: "3.5"
   services:
       build: DomainSoftware/myapp
       image: scaleit01.intern:5000/de-ondics-meineapp-myapp:1.0

Wichtig, dass die Versionsnummern des Images und den Rancher-Templates übereinstimmen, sonst hat Rancher ein Problem beim App-Start.

Tipp #2: Schnellere App-Tests mit Rancher

Aufgabe: Eine App im Source wird geändert und soll im Rancher getestet werden.

Normaler Weg:

  • Container Images bauen
  • In App-Pool pushen
  • Update in Rancher-Templates machen (neue Versionsnummer)
  • Update in GIT committen und pushen
  • In Rancher: Menü Catalog: aktualisieren
  • in Rancher: Menu Stacks -> User: App-upgraden

Tipp & Trick:

  • Container Image bauen und pushen (mit Makefile: make build push)
  • In Rancher: Menu Stacks -> User -> App -> Service auswählen -> Service Upgrade: Checkbox "Image immer von der Erstellung neu laden" auswählen. Dann Upgrade für diesen Container durchführen.

Damit wird die Turnaround-Zeit erheblich verkürzt und das App-Testen macht mehr Spass, weil es schneller geht.