Cometvisu - neuester Container

Rund um die CometVisu im Timberwolf Server
Antworten

MiniMaxV2
Reactions:
Beiträge: 120
Registriert: Sa Jan 12, 2019 8:41 pm
Wohnort: Bremen
Hat sich bedankt: 140 Mal
Danksagung erhalten: 28 Mal

Re: Cometvisu - neuester Container

#51

Beitrag von MiniMaxV2 » Mi Jan 16, 2019 8:46 pm

Warten ma ab, ob es auch funktioniert ;)

Glaub mir - ich weiß wo von du redest. Ich bin in der Firma wo ich arbeite u.a. für unsere CI Umgebung verantwortlich und strebe immer neue Verbesserungen an. Wir sind mittlerweile so weit, dass nicht nur Code gebaut wird, Unit-Tests ausgeführt, Pakete gebaut, Integrations-Tests ausgeführt werden sondern auch der Endeinsatz auf einem Demo System (ähnlich eurem Teststand nur für Software) überprüft wird. Das alles durch einen Commit. Ich find das ganze Thema Automatisierung sehr spannend :) Jenkins hatten wir früher auch mittlerweile hat uns TeamCity besser bedient.
In dem Sinne - ich finde es spannend solche Details zu erfahren und hab Eespekt vor der Arbeit dahinter von euch.
LG
Hans Martin
timberwolf 950Q - Liefertermin April


Matthias
Reactions:
Beiträge: 58
Registriert: Mi Aug 29, 2018 7:44 pm
Hat sich bedankt: 1 Mal
Danksagung erhalten: 22 Mal

#52

Beitrag von Matthias » Mi Jan 16, 2019 8:51 pm

Hi,
blaubaerli hat geschrieben:
Di Jan 15, 2019 11:29 pm
Hallo zusammen, der Effekt kommt mir bekannt vor.
Chris verwies mich dann auf einen speziellen URL-Parameter:

Code: Alles auswählen

https://timberwolf???.local/proxy/visutest/?forceReload=true
Habt ihr das damit mal probiert?
Ja hatte ich probiert, aber es hatte keine Wirkung,
Chris M. hat geschrieben:
Di Jan 15, 2019 10:07 pm
Das sollte so nicht sein. Meist wird das durch ein Reload der Seite durch den Browser behoben.
Hat bei mir nicht funktioniert.

Ich habe mich auch mit dem Terminal im Container eingelogt. Die Dateien waren korrekt im Config Verzeichnis und die Rechte stimmten auch. Ich habe auch nur über den Manager die default Config geladen und danach ging es sofort.
----------------------------------------------------------------------------------------------
Wiregate Fan / Timberwolf Server 2500 ID153 + PBM / reboot erlaubt / VPN offen

Benutzeravatar

Chris M.
Reactions:
Beiträge: 441
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 53 Mal
Danksagung erhalten: 193 Mal
Kontaktdaten:

#53

Beitrag von Chris M. » Mi Jan 16, 2019 9:30 pm

MiniMaxV2 hat geschrieben:
Mi Jan 16, 2019 8:46 pm
Ich bin in der Firma wo ich arbeite u.a. für unsere CI Umgebung verantwortlich und strebe immer neue Verbesserungen an. Wir sind mittlerweile so weit, dass nicht nur Code gebaut wird, Unit-Tests ausgeführt, Pakete gebaut, Integrations-Tests ausgeführt werden sondern auch der Endeinsatz auf einem Demo System (ähnlich eurem Teststand nur für Software) überprüft wird. Das alles durch einen Commit.
Läuft bei der CometVisu ähnlich :)

Jeder Commit und auch Pull-Request wird über Travis-CI gebaut, einem Lint, Unit-Test und End-to-End-Test unterzogen. Das Ergebnis davon ist beim Pull-Request sichtbar, so dass der Reviwer des Pull-Requests hier schnell die formalen Kriterien checken kann, bevor es in's Inhaltliche geht.

Wenn der PR dann nach positiven Review gemerged wird läuft das Gleiche nochmal über den neuen Entwicklungszweig, aber erweitert um die Doku-Erstellung (mit automatischen Upload auf die Homepage) und dem Bau des Docker-Containers mit Upload auf den DockerHub.

Alles sichtbar und live nachverfolgbar unter https://travis-ci.org/CometVisu/CometVisu

Dazu kommt dann noch das Erstellen der Nightly Builds so wie des über DockerHub automatisierten Baus des CometVisu-Basis-Containers.

Für den Betrieb kommen noch geniale Debug-Features im (0.11er) Code hinzu, der bei entsprechendem URL-Parameter die Interaktionen mit logt, so dass diese im Fehlerfall an uns Entwickler übergeben werden können und wir das dann als "Film" wiedergeben können um den Code bei uns lokal "live" mit debuggen zu können. Um das für jeden Anwender leicht zu gestalten ist die Möglichkeit eingebaut diese Log-Datei anonym über Sentry.io hochladen zu können (trotzdem bitte möglichst eMail-Addresse mit angeben, so dass wir nachfragen können wenn es Rückfragen gibt)
(Hinweis: Das Loggen und v.a. das Hochladen erfolgt nur durch den Benutzer initiiert und Benutzer-Aktion und ist daher auf maximalen Datenschutz ausgelegt)

Hinzugefügt nach 9 Minuten 25 Sekunden:
Matthias hat geschrieben:
Mi Jan 16, 2019 8:51 pm
blaubaerli hat geschrieben:
Di Jan 15, 2019 11:29 pm
Hallo zusammen, der Effekt kommt mir bekannt vor.
Chris verwies mich dann auf einen speziellen URL-Parameter:

Code: Alles auswählen

https://timberwolf???.local/proxy/visutest/?forceReload=true
Habt ihr das damit mal probiert?
Ja hatte ich probiert, aber es hatte keine Wirkung,
Chris M. hat geschrieben:
Di Jan 15, 2019 10:07 pm
Das sollte so nicht sein. Meist wird das durch ein Reload der Seite durch den Browser behoben.
Hat bei mir nicht funktioniert.
Die CometVisu hat bewusst ein aggressives Caching - nicht das man mit dem Handy bei schlechtem Edge erst mal alles laden muss, bevor man sieht ob man vergessen hat die Markise einzufahren...

Andererseits sind auch Methoden implementiert, dass bei Konfig- oder Code-Änderungen diese zuverlässig neu geladen werden (notfalls Reload mehrmals drücken).
(Bei der Verwendung des Source-Code selbst ist das Caching reduziert, aber im Einzelfall könnte es noch Probleme geben. Von einem Entwickler kann man aber erwarten, dass der seinen Browser schon im Griff hat).
Wenn es hier wirklich hakt, so sind nach https://www.cometvisu.org/CometVisu/de/ ... arams.html die URL Parameter forceReload=true so wie enableCache=false hilfreich.

Im konkreten Fall für das o.g. Problem könnte ich mir vorstellen, dass es mit dem "502-Thema" zusammen hängt, das noch nicht gelöst ist.
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache


MiniMaxV2
Reactions:
Beiträge: 120
Registriert: Sa Jan 12, 2019 8:41 pm
Wohnort: Bremen
Hat sich bedankt: 140 Mal
Danksagung erhalten: 28 Mal

#54

Beitrag von MiniMaxV2 » Mi Jan 16, 2019 9:53 pm

Wenn wir schon beim Verifizieren sind @Chris M., was sollte ich eigentlich sehen, wenn morgen der Container aufm PI läuft (sprich nur ein run ohne jegliche Anpassungen)? Und wie könnten wir testen, ob die Änderungen auch auf DockerHub laufen?
LG
Hans Martin
timberwolf 950Q - Liefertermin April

Benutzeravatar

Chris M.
Reactions:
Beiträge: 441
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 53 Mal
Danksagung erhalten: 193 Mal
Kontaktdaten:

#55

Beitrag von Chris M. » Mi Jan 16, 2019 10:13 pm

MiniMaxV2 hat geschrieben:
Mi Jan 16, 2019 9:53 pm
Wenn wir schon beim Verifizieren sind Chris M., was sollte ich eigentlich sehen, wenn morgen der Container aufm PI läuft (sprich nur ein run ohne jegliche Anpassungen)?
Welcher Container? cometvisuabstractbase oder einen fertigen (z.B. Release 0.10.2)?

Wenn "nur" cometvisuabstractbase:
Dann über https://github.com/ChristianMayer/Devel ... Dockerfile darauf aufbauend (FROM natürlich anpassen) einen 0.10.2 Container bauen.

Wenn fertigen (oder gerade einen fertigen gebaut):
Einfach ohne jegliche Config starten, per Web-Browser drauf gehen und dort die Demo-Config öffnen. In der sollten die Buttons und Slider funktionieren, auch wenn kein KNX verbunden ist. (Am liebsten ziehe ich auf der Startseite den "Slider" und schaue bei "Info: Slider" ob Werte kommen)
MiniMaxV2 hat geschrieben:
Mi Jan 16, 2019 9:53 pm
Und wie könnten wir testen, ob die Änderungen auch auf DockerHub laufen?
Gute Frage. Hast Du einen DockerHub Account? Dann wäre vermutlich am einfachsten den ARM-cometvisuabstractbase dort hochladen und wir schauen mal ob und wie der per Travis-CI automatisierte Container-Built aus den Sourcen damit funktioniert.
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache


MiniMaxV2
Reactions:
Beiträge: 120
Registriert: Sa Jan 12, 2019 8:41 pm
Wohnort: Bremen
Hat sich bedankt: 140 Mal
Danksagung erhalten: 28 Mal

#56

Beitrag von MiniMaxV2 » Mi Jan 16, 2019 10:19 pm

Ja wie weiter oben geschrieben hab ich gestern und heute sowohl die Base als dann auch einen trunk(bzw branch develop) damit lokal bei mir gebaut. Muss morgen das nur auf einem PI testen.
Ok dann nehme ich morgen mal die Demo Config.

Ja hab den Account für den DockerToolbox Kram gemacht und ein Projekt kann ich ja anlegen. Dann schauen wir mal was morgen beim Test im PI raus kommt...
Zuletzt geändert von MiniMaxV2 am Mi Jan 16, 2019 10:22 pm, insgesamt 1-mal geändert.
LG
Hans Martin
timberwolf 950Q - Liefertermin April

Benutzeravatar

Chris M.
Reactions:
Beiträge: 441
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 53 Mal
Danksagung erhalten: 193 Mal
Kontaktdaten:

#57

Beitrag von Chris M. » Mi Jan 16, 2019 10:43 pm

Projekt brauchst Du nicht, wir haben ja schon "CometVisu" als Projekt. Einfach unter Deinem Account reicht.
Wenn das dann alles läuft können wir den nach CometVisu umziehen.
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache


MiniMaxV2
Reactions:
Beiträge: 120
Registriert: Sa Jan 12, 2019 8:41 pm
Wohnort: Bremen
Hat sich bedankt: 140 Mal
Danksagung erhalten: 28 Mal

#58

Beitrag von MiniMaxV2 » Do Jan 17, 2019 6:10 pm

Soooo - ich würde sagen es funktioniert soweit. Beim Starten des Containers startet knxd ordnungsgemäß und auch der Apache ist am laufen.
Beim aufrufen von der Visu kommt allerdings nur das "verfügbare Konfigurationen" mit einer Warnung, dass die Dateiberechtigungen "mist" sind - aber das ist glaube ich nur ein Problem meines Cometvisu-Trunk Containers...

Bild

Der Log zeigt auch die passenden Ausgaben:

Code: Alles auswählen

10.10.10.216 - - [17/Jan/2019:17:03:46 +0000] "GET /favicon.ico HTTP/1.1" 404 503 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0"
[Thu Jan 17 17:03:47.864979 2019] [php7:warn] [pid 23] [client 10.10.10.216:65107] PHP Warning:  mkdir(): Permission denied in /var/www/html/manager.php on line 235, referer: http://10.10.11.226/?config=demo
Ich werde nach dem Essen mal den Base-Container bei mir hochladen, vielleicht kannst du damit was sinnvolleres herstellen 8-)

Edit:

Es geht mit dem 10er Dockerfile:
Bild

Hinzugefügt nach 49 Minuten 18 Sekunden:
@Chris M. Ich hab den Container nun mal gepushed. Findet sich unter "hansmp/somedev:dev"
Zuletzt geändert von MiniMaxV2 am Do Jan 17, 2019 6:41 pm, insgesamt 1-mal geändert.
LG
Hans Martin
timberwolf 950Q - Liefertermin April


MiniMaxV2
Reactions:
Beiträge: 120
Registriert: Sa Jan 12, 2019 8:41 pm
Wohnort: Bremen
Hat sich bedankt: 140 Mal
Danksagung erhalten: 28 Mal

#59

Beitrag von MiniMaxV2 » Fr Jan 18, 2019 8:20 pm

@Chris M. - wie brauchst du die Files im PullRequest? Ich hab das build-Script angepasst, sodass nur ein Dockerfile nötig ist (daraus werden 2 generiert). Reicht das für das CV Buildsystem auf Dockerhub (nutzt es das build file?)? Oder soll ich die beiden Dockerfiles einchecken?

Tante Edit: Da sieht man die Änderung https://github.com/hansmp/Docker
Zuletzt geändert von MiniMaxV2 am Fr Jan 18, 2019 8:38 pm, insgesamt 1-mal geändert.
LG
Hans Martin
timberwolf 950Q - Liefertermin April

Benutzeravatar

Chris M.
Reactions:
Beiträge: 441
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 53 Mal
Danksagung erhalten: 193 Mal
Kontaktdaten:

#60

Beitrag von Chris M. » Sa Jan 19, 2019 10:51 pm

MiniMaxV2 hat geschrieben:
Do Jan 17, 2019 6:59 pm
Chris M. Ich hab den Container nun mal gepushed. Findet sich unter "hansmp/somedev:dev"
Basierend auf diesem Container hat nun die CometVisu Build Automatisierung erfolgreich(?) einen ARM Container gebaut - und wird dies ab sofort bei jedem neuen Merge eines Pull Requests machen. D.h. diese Container haben exakt den gleichen Stand wie die "normalen" Container.

=> Bitte ausgiebig auf entsprechenden Maschinen (Raspberry Pis, ARM-Timberwölfe, ...) testen!

Der Container ist zu finden unter: cometvisu/cometvisu:testing-arm
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache

Antworten