Node-RED-Flows versionieren
Node-RED Projects integriert Git direkt in den Editor. Verbinden Sie ein freigegebenes GitLab-Repository und sichern Sie Flow-Änderungen ohne Konsolenzugriff nachvollziehbar in Git.
Die Node-RED-Instanz arbeitet mit einem freigegebenen GitLab-Repository. Flow-Dateien, verwendete Node-Pakete und Projektdokumentation sind versioniert und können nach einer Änderung über die Projektansicht des Editors in das Remote-Repository übertragen werden.
Repository vorbereiten
Repository, Verantwortliche und ein geeigneter Schreibzugang stehen bereit.
Git-Profil einrichten
Name und E-Mail für nachvollziehbare Commit-Autorenschaft werden eingetragen.
Repository verbinden
Das bestehende GitLab-Repository wird über Node-RED Projects geklont und geöffnet.
Deploy und Commit
Der Flow wird getestet, deployt und mit einer verständlichen Nachricht versioniert.
Push prüfen
Der Commit wird übertragen und anschließend im GitLab-Repository kontrolliert.
Voraussetzungen
Administrativer Editorzugang
Die verwendete Node-RED-Rolle darf Projekte und ihre Git-Konfiguration verwalten.
Projekt-Repository
Ein leeres oder bereits befülltes Repository ist für den vorgesehenen Flow angelegt.
Technischer Git-Zugang
Ein freigegebener Projekt- oder Deploy-Token besitzt die tatsächlich benötigten Repository-Rechte.
Gemeinsamer Arbeitsweg
Branch, Review, Commit-Namen und Zuständigkeit für Rücksetzungen sind im Team abgestimmt.
1. Git-Profil in Node-RED einrichten
Öffnen Sie im Node-RED-Editor das Hauptmenü und wählen Sie Projects. Wird die Projektfunktion in dieser Instanz zum ersten Mal verwendet, erscheint der Dialog Git-Versionsverwaltung einrichten.
Tragen Sie dort ein:
- Benutzername: verständlicher Name des verantwortlichen Teams oder technischen Administrationskontos,
- E-Mail: zugehörige Funktions- oder Projektadresse.
Diese Angaben erscheinen später als Autor eines Commits. Sie melden Node-RED noch nicht am GitLab-Repository an und sind weder Passwort noch Token. Beides kann später unter Settings → Git config geändert werden.
Die Ansicht aus dem Node-RED-Editor ist der erste Schritt der integrierten Projektverwaltung. Sie legt die Commit-Autorendaten fest. Den eigentlichen Repository-Zugang fragt Node-RED beim Klonen, Abrufen oder Übertragen des Projekts separat ab.
2. GitLab-Repository als Projekt öffnen
Ist noch kein Projekt aktiv, wählen Sie im Projektassistenten die Möglichkeit, ein vorhandenes Repository zu klonen. Die genaue Bezeichnung kann je nach Node-RED-Version leicht abweichen.
- Öffnen Sie Projects und starten Sie ein neues Projekt.
- Wählen Sie Clone repository beziehungsweise die Option für ein bestehendes Git-Repository.
- Tragen Sie die HTTPS- oder SSH-Adresse des vorgesehenen GitLab-Projekts ein.
- Verwenden Sie für einen privaten HTTPS-Zugang den freigegebenen technischen Benutzernamen und Token.
- Wählen Sie den vorgesehenen Branch und schließen Sie den Projektassistenten ab.
- Prüfen Sie nach dem Öffnen, ob Flow-Datei,
package.jsonund vorhandene Dokumentation vollständig angezeigt werden.
Verwenden Sie nicht versehentlich ein persönliches Testrepository. Pro Node-RED-Instanz sollte eindeutig feststehen, welches Repository den wiederherstellbaren Projektstand enthält.
Bereits durch die UDSP verbundenes Projekt
Der Plattformbetrieb kann ein Repository beim Rollout bereits automatisch klonen und als aktives Projekt setzen. In diesem Fall legen Sie kein zweites Projekt an. Öffnen Sie Projects, kontrollieren Sie Projektname und Remote und arbeiten Sie mit dem vorhandenen Projekt weiter.
Die Node-RED-Oberfläche ist der normale Arbeitsweg für Projekt- und Git-Änderungen. Die technische Mandantenkonfiguration wird nur benötigt, wenn ein Repository bei einer Neuinstallation automatisch geklont und die Instanz reproduzierbar damit gestartet werden soll. Kundenadministratoren müssen dafür nicht das Inventory oder ein Ansible-Playbook bearbeiten.
3. Eine Flow-Änderung versionieren
- Öffnen Sie vor der Bearbeitung die Projekt- beziehungsweise Git-Seitenleiste und rufen Sie den aktuellen Remote-Stand ab.
- Ändern und testen Sie den Flow.
- Wählen Sie Deploy, damit Node-RED die aktive Flow-Datei speichert und ausführt.
- Öffnen Sie anschließend die Liste der lokalen Änderungen.
- Prüfen Sie den Diff und wählen Sie nur fachlich zusammengehörige Dateien aus.
- Erfassen Sie eine verständliche Commit-Nachricht, beispielsweise
Messwertvalidierung vor Stellio ergänzen. - Erstellen Sie den Commit und übertragen Sie ihn über Push in das GitLab-Repository.
- Öffnen Sie GitLab und kontrollieren Sie Branch, Commit und gegebenenfalls den zugehörigen Merge Request.
Deploy
Speichert und aktiviert den Flow innerhalb der laufenden Node-RED-Instanz.
Commit
Erzeugt einen nachvollziehbaren Versionsstand im lokalen Projektverzeichnis.
Push
Überträgt den Commit in das externe Repository und macht ihn wiederherstellbar.
Review
Prüft größere Änderungen über einen Branch und Merge Request vor der gemeinsamen Nutzung.
Deploy, Commit und Push sind drei unterschiedliche Ergebnisse. Erst nach dem Push ist der Versionsstand außerhalb der laufenden Instanz gesichert.
4. Zugangsdaten und Abhängigkeiten schützen
- Verwenden Sie für GitLab einen technischen Projektzugang statt eines persönlichen Tokens.
- Geben Sie dem Zugang nur die notwendigen Rechte auf das betroffene Repository.
- Tragen Sie den Token nur in den vorgesehenen Anmeldedialog ein und niemals in eine Flow-, Function- oder Umgebungsvariable.
- Committen Sie keine Passwörter, API-Tokens, privaten Schlüssel oder vollständigen produktiven Payloads.
- Prüfen Sie vor der Aufnahme von Credential-Dateien, ob die Projektverschlüsselung verbindlich eingerichtet ist.
- Kontrollieren Sie bei zusätzlichen Nodes auch die Änderung der
package.jsonund pinnen Sie den geprüften Paketstand. - Rufen Sie vor der Bearbeitung den aktuellen Remote-Stand ab, wenn mehrere Personen am selben Projekt arbeiten.
Das Repository versioniert Flow-Dateien, Abhängigkeiten und Projektdokumentation. Laufzeitdaten, Kubernetes-Ressourcen, externe Datenbanken, Secrets und der Projektschlüssel werden über die dafür vorgesehenen Sicherungs- und Wiederherstellungswege der Plattform geschützt.
Ergebnis prüfen
- In Node-RED ist das richtige Projekt mit dem vorgesehenen Remote verbunden.
- Git-Autor und technischer Repository-Zugang sind voneinander getrennt eingerichtet.
- Der Remote-Branch enthält den erwarteten Flow-Commit.
package.jsonenthält alle tatsächlich benötigten zusätzlichen Nodes.- Keine unverschlüsselten Zugangsdaten befinden sich im Repository.
- Ein anderes berechtigtes Teammitglied kann den Projektstand aus GitLab nachvollziehen.
Damit weiterarbeiten
Node-RED konfigurieren
Automatischer Bootstrap eines Projekts und Bereitstellung der Node-RED-Instanz.
Referenz öffnenHYPERTEGRITY Node-RED-Bibliothek
Wiederverwendbare Nodes und versionierte Projektabhängigkeiten einsetzen.
Best Practice öffnen