Freigeben über


Wertsätze in Variablenbibliotheken

Wertsätze in einer Variablenbibliothek bieten alternative Wertesätze für die definierten Variablen, unterstützende Szenarien wie umgebungsspezifische Konfigurationen (z. B. Entwicklungs-, Test-, Prod-), A/B-Tests oder Datenquellenwechsel innerhalb desselben Arbeitsbereichs.

Jeder Wertsatz wird als Sammlung von Zeigern auf den Standardwert der Variablen erstellt, die bei Bedarf überschrieben werden können. Für einen bestimmten Arbeitsbereich kann jeweils nur ein Wertsatz aktiv sein, und Benutzer können den aktiven Satz einfach über die Benutzeroberfläche oder API wechseln.

Wertsätze werden innerhalb der Bibliothek eindeutig benannt und können umbenannt, neu angeordnet (nur über Git oder das Update mit Definitions-API) oder gelöscht werden (mit Sicherheitsvorkehrungen, um das Löschen des aktiven Satzes ohne erneute Zuordnung zu verhindern). Das System verfolgt Änderungen und erzwingt Größenbeschränkungen, um die Leistung sicherzustellen, und alle Änderungen an Wertsätzen werden vor dem Speichern überprüft. Diese Struktur ermöglicht eine robuste Konfigurationsverwaltung, sodass Entwickler Bereitstellungen automatisieren und Konsistenz in mehreren Umgebungen und Phasen verwalten können.

Struktur und Implementierung von Wertsätzen

Die Definition des Variablenbibliothekselements ist so strukturiert, dass mehrere Wertesätze unterstützt werden. Im Schema des Elements (seine JSON-Definition) werden alle Variablen und deren Standardwerte in einem primären Abschnitt (häufig als "Standardwerte" in Git bezeichnet) aufgeführt. Jeder zusätzliche Wertsatz wird als separate Entität (oder Datei) gespeichert, die nur die Variablen enthält, die sich von der Standardeinstellung unterscheiden. Anders ausgedrückt: Wenn der Wert einer Variablen in einem bestimmten Wertsatz mit dem Standardwert identisch ist, wird er in der Definition dieses Wertsatzes nicht explizit wiederholt.

  • Standardwert: Immer vorhanden und enthält den Basiswert jeder Variablen (zusammen mit Metadaten wie Name und Typ). Die Standardwertdatei listet alle Variablen mit ihren Standardwerten (primär) auf.

  • Alternativer Wertsatz: Für jeden zusätzlichen Wertsatz (z. B. einen Wertsatz "Test" oder "Prod" ) listet die Definition nur die Variablen auf, bei denen der Wert den Standardwert überschreibt. Wenn eine Variable nicht in einer bestimmten Wertsatzdatei aufgeführt ist, verwendet sie implizit den Standardwert für diesen Satz.

Beispiel: Wenn Sie über eine Variable ConnectionString mit dem Standardwert "dev-server" verfügen und einen "Production"-Wert erstellen, der diesen wert auf "prod-server" überschreibt, hat die Standarddefinition ConnectionString = "dev-server", und die Datei des Wertsatzes "Production" enthält ConnectionString = "prod-server" (und nichts für Variablen, die unverändert bleiben). Bei diesem Ansatz bleiben Wertsatzdefinitionen schlanker und hebt nur die Unterschiede hervor.

Darstellung der Quellcodeverwaltung

In der Git-Integration von Fabric wird das obige Schema in mehrere Dateien unter dem Ordner "Variable Library" übersetzt. Standardmäßig wird jeder Wertsatz in eine eigene JSON-Datei (benannt nach dem Wertsatz) serialisiert, die seine Außerkraftsetzungen enthält, getrennt von der Standardwertdatei. Beispielsweise kann ein VL-Element "MyVars" folgendes haben:

MyVars_Default.json – Standardwerte aller Variablen. MyVars_Prod.json – nur Variablen mit Werten, die sich für die "Prod"-Stufe unterscheiden. MyVars_Test.json – nur Variablen mit Werten, die sich für die Phase "Test" unterscheiden.

Diese klare Trennung bedeutet, dass Sie Änderungen an der Konfiguration jeder Umgebung unabhängig von der Quellcodeverwaltung nachverfolgen können.

Wichtig ist die Auswahl des aktiven Wertsatzes nicht Teil dieser Definitionsdateien – sie wird als Elementstatus (eine Einstellung auf Arbeitsbereichsebene) gespeichert, sodass das Bereitstellen oder Importieren des Elements nicht überschreibt, welcher Wertsatz derzeit in einem bestimmten Arbeitsbereich aktiv ist. (Weitere Informationen zu aktiven Wertsätzen unten.)

Schema- und Datentypen

Wertsätze führen keine neuen Datentypen ein; sie enthalten Werte der gleichen Typen, die von jeder Variablen definiert werden. Die Elementdefinition zeichnet den Namen, Typ, Standardwert und optionale Notiz jeder Variablen auf. Komplexe Variablentypen wie Elementreferenz verfügen über strukturierte Schemas (Speichern von IDs), aber diese Werte werden in jedem Wertsatz mithilfe einer konsistenten JSON-Struktur dargestellt (beispielsweise speichert ein Elementverweis die Arbeitsbereichs-ID + Element-ID für das Element dieser Phase). Alle Wertesatzdateien folgen der gleichen Schemastruktur wie der Standardwert: im Wesentlichen eine Zuordnung von Variablennamen zu den Werten dieses Satzes (nur einschließlich derJenigen, die von der Standardeinstellung abweichen).

Benennungskonventionen für Wertesätze

Der Name eines Werts, der in einer Variablenbibliothek festgelegt ist, muss den folgenden Konventionen entsprechen:

  • Ist nicht leer
  • Keine führenden oder nachgestellten Leerzeichen
  • Beginnt mit einem Buchstaben oder einem Unterstrich
  • Kann Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten
  • Maximal 256 Zeichen lang

Nachdem eine Variable einen definierten Wert aufweist, wird ein Zustimmungsdialogfeld angezeigt, wenn Sie versuchen, den Typ zu ändern. Das Dialogfeld informiert Sie darüber, dass alle Variablenwerte zurückgesetzt werden und dass diese Änderung eine unterbrechungslose Änderung auf der Seite des Verbraucherelements sein könnte.

Überlegungen und Einschränkungen

Einschränkungen für alternative Wertesätze

  • Alternative Wertesätze in einer Variablenbibliothek werden in der Reihenfolge angezeigt, in der Sie sie hinzugefügt haben. Derzeit können Sie sie nicht in der Benutzeroberfläche neu anordnen. Um die Reihenfolge zu ändern, bearbeiten Sie die JSON-Datei direkt.
  • Der Name der einzelnen Wertesätze muss innerhalb einer Variablenbibliothek eindeutig sein.
  • Variablennamen müssen innerhalb einer Variablenbibliothek eindeutig sein. Sie können zwei Variablen mit demselben Namen in einem Arbeitsbereich haben, wenn sie sich in verschiedenen Elementen befinden.
  • Es gibt immer einen (und nur einen) aktiven Wert, der in einer Variablenbibliothek gleichzeitig festgelegt ist. Sie können einen Wertsatz nicht löschen, während er aktiv ist. Um ihn zu löschen, konfigurieren Sie zuerst einen anderen Wert, der als aktiv festgelegt ist. Sie können für jede Phase einer Bereitstellungspipeline einen anderen aktiven Wert festlegen.