Zum Hauptinhalt springen
Administration · Node-RED

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.

GitLab

Repository vorbereiten

Repository, Verantwortliche und ein geeigneter Schreibzugang stehen bereit.

Node-RED

Git-Profil einrichten

Name und E-Mail für nachvollziehbare Commit-Autorenschaft werden eingetragen.

Projekt

Repository verbinden

Das bestehende GitLab-Repository wird über Node-RED Projects geklont und geöffnet.

Änderung

Deploy und Commit

Der Flow wird getestet, deployt und mit einer verständlichen Nachricht versioniert.

Sicherung

Push prüfen

Der Commit wird übertragen und anschließend im GitLab-Repository kontrolliert.

Voraussetzungen

Best Practice

Administrativer Editorzugang

Die verwendete Node-RED-Rolle darf Projekte und ihre Git-Konfiguration verwalten.

GitLab

Projekt-Repository

Ein leeres oder bereits befülltes Repository ist für den vorgesehenen Flow angelegt.

Authentifizierung

Technischer Git-Zugang

Ein freigegebener Projekt- oder Deploy-Token besitzt die tatsächlich benötigten Repository-Rechte.

Verantwortung

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.

Was der gezeigte Dialog einrichtet

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.

  1. Öffnen Sie Projects und starten Sie ein neues Projekt.
  2. Wählen Sie Clone repository beziehungsweise die Option für ein bestehendes Git-Repository.
  3. Tragen Sie die HTTPS- oder SSH-Adresse des vorgesehenen GitLab-Projekts ein.
  4. Verwenden Sie für einen privaten HTTPS-Zugang den freigegebenen technischen Benutzernamen und Token.
  5. Wählen Sie den vorgesehenen Branch und schließen Sie den Projektassistenten ab.
  6. Prüfen Sie nach dem Öffnen, ob Flow-Datei, package.json und 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.

UI für Administratoren, Inventory für den Bootstrap

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

  1. Öffnen Sie vor der Bearbeitung die Projekt- beziehungsweise Git-Seitenleiste und rufen Sie den aktuellen Remote-Stand ab.
  2. Ändern und testen Sie den Flow.
  3. Wählen Sie Deploy, damit Node-RED die aktive Flow-Datei speichert und ausführt.
  4. Öffnen Sie anschließend die Liste der lokalen Änderungen.
  5. Prüfen Sie den Diff und wählen Sie nur fachlich zusammengehörige Dateien aus.
  6. Erfassen Sie eine verständliche Commit-Nachricht, beispielsweise Messwertvalidierung vor Stellio ergänzen.
  7. Erstellen Sie den Commit und übertragen Sie ihn über Push in das GitLab-Repository.
  8. Öffnen Sie GitLab und kontrollieren Sie Branch, Commit und gegebenenfalls den zugehörigen Merge Request.
Node-RED

Deploy

Speichert und aktiviert den Flow innerhalb der laufenden Node-RED-Instanz.

Git

Commit

Erzeugt einen nachvollziehbaren Versionsstand im lokalen Projektverzeichnis.

GitLab

Push

Überträgt den Commit in das externe Repository und macht ihn wiederherstellbar.

Team

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.json und pinnen Sie den geprüften Paketstand.
  • Rufen Sie vor der Bearbeitung den aktuellen Remote-Stand ab, wenn mehrere Personen am selben Projekt arbeiten.
Git ersetzt kein vollständiges Plattform-Backup

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.json enthä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

Technische UDSP-Referenz

Node-RED konfigurieren

Automatischer Bootstrap eines Projekts und Bereitstellung der Node-RED-Instanz.

Referenz öffnen
Node-RED

HYPERTEGRITY Node-RED-Bibliothek

Wiederverwendbare Nodes und versionierte Projektabhängigkeiten einsetzen.

Best Practice öffnen

Externe Referenz