Testbild von Gladys starten?

Entschuldige, dass ich dir die Nachricht zurückschicke;
Ich war auch auf Gladys 3 und konnte mit Putty mehr oder weniger herausfinden, warum ein Kommentar nicht funktionierte, aber jetzt mit Gladys 4 bin ich ein bisschen überfordert. Ich hatte dir in einem Kommentar zu einem deiner Videos davon erzählt, aber ich habe gesehen, dass gaetanb76 gefragt hat: « Wie kann man konkret testen?
Ich denke, man muss das Bild hier herunterladen Bilder :baleine: zum Testen von Entwicklungsdiensten
Aber danach…? » Das war im Juni, (aber ohne Antwort)
et ich würde auch gerne die Bilder testen, aber wie?
Jedenfalls, danke für all die Arbeit, die die Community und vor allem du geleistet habt
Danke für alles

Das sind Docker-Images, also wenn du keine Grundlagen hast (das ist keine Kritik), rate ich dir, dich nicht ohne ein paar Vorkenntnisse über das Thema zu stürzen.

Wenn du uns sagst, welches Image du testen möchtest, können wir dir den Befehl geben, den du ausführen musst.

Ich habe das Thema gesplittet, weil es nicht viel mit dem ursprünglichen Problem an der anderen Stelle zu tun hatte :slight_smile:

Guten Abend VonOx,
kein Problem, tatsächlich habe ich keine Grundlagen von Docker.
Für das Bild hatte ich einen RFlink auf Gladys 3, um meine 433Mhz-Geräte zu steuern, und ich wollte es wiederverwenden, also wollte ich das Arduino-Bild testen.
Danke für deine Antworten :grinning:

Pierre Gilles:
Ich versuche, die Antworten in die richtigen Themen zu stellen, aber es klappt nicht immer,
Danke für die Nachrichtenverwaltung :grinning:

Das Arduino-Bild scheint nicht aktiv entwickelt zu werden, und das PR hat nicht viel mit dem Rflink zu tun, also wird es dir nicht helfen :slight_smile:

Aber es gibt ein Rflink-PR, das ziemlich weit fortgeschritten ist (oder fast fertig), ich lade dich ein, diesen Beitrag anzusehen:

Aber wie @VonOx sagte, hier geht es um einen Dienst, der in Entwicklung ist, also wenn du das starten willst, brauchst du einige Fähigkeiten.

Hallo PierreGilles,
Das ist genau das, was ich tun möchte: PRs testen. Ich habe die gesamte Windows-Entwicklungsumgebung installiert, aber dann weiß ich nicht weiter (ich weiß nicht, ob man damit PRs testet?). Ich sollte die PR auf den Sonoff eWeling testen, aber ich kenne den Weg dorthin nicht. Ich denke, mit einer kleinen Beschreibung wie „Ein Service für Gladys entwickeln“, könnte ich das, was ich nicht kenne, vertiefen, und ich hätte ein Vorbild, an dem ich mich orientieren kann (wie in den guten alten Zeiten der V3 :blush:)
Nochmals vielen Dank, dass du dir Zeit für uns nimmst.

Wenn es also nur zu Testzwecken (nicht zur Entwicklung) ist, ist es besser, ein Docker-Image « unter realen Bedingungen » zu starten, anstatt dies in einer Entwicklungsumgebung zu tun (was die Realität nicht wirklich widerspiegelt und nicht unbedingt einfach umzusetzen ist).

Um ein Docker-Image zu starten, ist der Prozess derselbe wie auf der Installationsseite von Gladys über Docker beschrieben (Installation avec Docker | Gladys Assistant), nämlich einen Docker-Container auf der Maschine zu starten, auf der du Gladys testen möchtest (am nächsten an dem, was du in der Produktion hast, z.B. ein Raspberry Pi).

Der einzige Unterschied besteht darin, dass der Name des Bildes in docker run geändert werden muss (um ein von einem anderen Entwickler erstelltes Bild zu starten) und Volumes verwendet werden, die deiner Testumgebung entsprechen.

Lassen Sie uns den docker run-Befehl von der Website analysieren:

docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys \
-e NODE_ENV=production \
-e SERVER_PORT=80 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
gladysassistant/gladys:v4

Hier siehst du, dass wir am Ende angeben, dass wir einen Container aus dem Bild gladysassistant/gladys:v4 starten wollen, das ist das « offizielle » Bild, das wir verteilen :slight_smile:

Im Fall eines Test-Szenarios, z.B. im Fall des PR RFLink, hat @ProtZ ein Docker-Bild auf seinem persönlichen Docker Hub-Konto geteilt, und das Bild heißt ngeissel/gladys:rflinkdev

Wenn du ein RFLink-Testbild auf deinem Pi starten möchtest, kann ich dir den folgenden Befehl vorschlagen:

docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys-test-rflink \
-e NODE_ENV=production \
-e SERVER_PORT=8001 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant_test_rflink:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
ngeissel/gladys:rflinkdev

Du wirst mehrere Änderungen bemerken:

  • Ich habe den Namen des Containers in « gladys-test-rflink » geändert, um Konflikte zu vermeiden, falls du bereits einen Gladys laufen hast
  • Ich habe den Port geändert, auf dem Gladys hört, auf 8001, um Konflikte zu vermeiden, falls du bereits einen Gladys laufen hast
  • Ich habe das Volume der Gladys-Daten geändert (Verzeichnis, in dem die Gladys-Daten auf der Festplatte gemountet werden), hier um « /var/lib/gladysassistant_test_rflink » zu setzen (Wenn du also deinen Pi nach dem Ausführen dieser Datei bereinigen möchtest, musst du nur dieses Verzeichnis löschen)
  • Ich habe das Bild in « ngeissel/gladys:rflinkdev » geändert

Sobald dein Container läuft, kannst du auf Gladys zugreifen, indem du « IP_RASPBERRY_PI:8001 » eingibst.

Wenn du diesen Container stoppen möchtest:

docker stop gladys-test-rflink

Wenn du diesen Container löschen möchtest:

docker rm gladys-test-rflink

Wenn du eine neue Version des Bildes abrufen möchtest

(falls der Entwickler mit der Integration fortgeschritten ist):

docker pull ngeissel/gladys:rflinkdev

Es ist zu beachten, dass ein Docker-Container unveränderlich ist: Wenn du also ein neues Bild gezogen hast, musst du den Container stoppen, den Container löschen und dann einen neuen Container docker run starten :slight_smile:

Fazit

Hier ist ein Beispiel im Fall von RFLink, aber du kannst den Namen des Bildes ändern, wie du möchtest.

Es ist vielleicht Chinesisch, wenn du Docker nicht kennst, aber meiner Meinung nach lohnt es sich, die Grundlagen von Docker zu lesen, wenn du nicht viel davon kennst :slight_smile:

Der Sonoff Ewelink ist bereits gemergt und in Gladys 4 seit einiger Zeit verfügbar! :slight_smile:

Hallo Pierre Gilles

vielen Dank für diese detaillierte Erklärung, jetzt kann ich versuchen, es zu testen, da ich jetzt einen roten Faden habe.

Ich bin bereits dabei, Docker zu entmystifizieren, indem ich YouTube-Tutorials folge.

Ja, ich weiß, und jetzt funktioniert es sehr gut und ohne Latenz für mich, aber das Testen war vor einigen Monaten auf einem PR von Ptit-Nico, nachdem er die Änderungen vorgenommen hatte.
Auf jeden Fall vielen Dank, dir und der Community, für die gesamte Arbeit, die ihr leistet, und die Unterstützung, die ihr uns gebt,

Kein Problem :slight_smile: Zögere nicht, dich zu melden, wenn du Probleme beim Testen hast!

@pierre-gilles Ich reaktiviere diese Diskussion, um im Wesentlichen die gleiche Frage wie Psoy zu stellen: Wie kann man einen laufenden PR-Entwicklungsprozess testen, wenn es kein vollständiges Bild gibt, das diesen PR enthält?

@jparbel Zwei Möglichkeiten:

  • Den Entwickler bitten, ein Image einzurichten, oder selbst ein Image einrichten (das ist nur ein Klick in GitHub, keine Befehle erforderlich…). Das ist die einfachste Lösung, es dauert 30 Sekunden, um auf einen Button in GitHub zu klicken, um einen Build zu starten, und dann etwa 1 Stunde für einen initialen Build, danach 5 Minuten für die nächsten Builds dank Docker-Cache :slight_smile:

  • Eine Gladys-Entwicklungsumgebung einrichten, aber das ist für fortgeschrittene Nutzer gedacht, die bereits auf einer Node.js/React-Stack entwickeln können (Tutorial auf der Website unter MacOS/Linux => Mettre en place un environnement de développement sous Mac/Linux | Gladys Assistant oder Windows => Mettre en place un environnement de développement sous Windows | Gladys Assistant). Ich rate davon ab, diesen Weg einzuschlagen, wenn du noch nie auf dieser Stack entwickelt hast (man kann es zwar lernen, aber das dauert nicht 5 Minuten, das ist ein Beruf :D)

Um auf die letzte Nachricht einzugehen, wissen Sie, wie man die Erstellung eines Docker-Testimages richtig konfiguriert?
Hier ist, was ich für die Konfiguration der Builds gemacht habe
1 - Erstellung eines Docker Hub-Kontos + eines Repos, um die Testimages zu empfangen bertrandda/gladys
2 - In meinem Fork auf Github habe ich 3 Secrets hinzugefügt: DOCKERHUB_USER « bertrandda », DOCKERHUB_PASSWORD das Access-Token, das von meinem Docker-Konto generiert wurde, und DOCKERHUB_REPO « gladys »
3 - Starten des Image-Builds über « Actions » → « Build gladys dev images »

Aber jedes Mal scheitert es gegen Ende. Wissen Sie warum? https://github.com/bertrandda/Gladys/actions/runs/1998893565

Im Log sieht man authorization failed

Benutzername / Passwort falsch?

Edit: Repo musst du bertrandda/gladys setzen

Für Benutzername/Passwort sollte es gut sein, der Teil Login to DockerHub ist gut Succeeded.
Ich habe gerade mit bertrandda/gladys im Repo neu gestartet, ich sage dir, ob es funktioniert

Danke @VonOx, es funktioniert jetzt

Hallo,
Wenn man testet, muss man ein lokales Konto mit unserer E-Mail-Adresse erstellen oder kann man ein Gladys Plus-Backup wiederherstellen?
Wenn man sich für die Erstellung eines lokalen Kontos entscheidet, kann man dann dieselbe E-Mail-Adresse verwenden oder muss man eine andere nehmen?

Ich rate davon ab, ein lokales Konto zu erstellen. Du solltest kein Gladys Plus-Backup wiederherstellen, da dies den Test-Build mit deinem Gladys Plus-Produktionskonto verbindet (und deine echte Instanz abmeldet).

Das ist egal, nimm einfach toto@toto.fr, das macht keinen Unterschied :slight_smile: Die E-Mail-Adresse wird nicht verwendet, sie ist nur eine rein lokale Kennung für die Anmeldung.