Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Sady hodnot v knihovně proměnných poskytují alternativní sady hodnot pro definované proměnné a podporují scénáře, jako jsou konfigurace specifické pro prostředí (například vývoj, testování, prod), testování A/B nebo přepínání zdroje dat ve stejném pracovním prostoru.
Každá sada hodnot se vytvoří jako kolekce ukazatelů na výchozí hodnotu proměnných, kterou je možné podle potřeby přepsat. Pro daný pracovní prostor může být aktivní jenom jedna sada hodnot a uživatelé můžou snadno přepnout aktivní sadu prostřednictvím uživatelského rozhraní nebo rozhraní API.
Sady hodnot jsou v knihovně jedinečně pojmenované a lze je přejmenovat, změnit jejich pořadí (pouze prostřednictvím gitu nebo aktualizace s rozhraním API definice) nebo odstranit (s bezpečnostními opatřeními, aby se zabránilo odstranění aktivní sady bez opětovného přiřazení). Systém sleduje změny a vynucuje omezení velikosti, aby se zajistil výkon a všechny úpravy sad hodnot se před uložením ověřují. Tato struktura umožňuje robustní správu konfigurací, což vývojářům umožňuje automatizovat nasazení a udržovat konzistenci napříč několika prostředími a fázemi.
Struktura a implementace sad hodnot
Definice položky knihovny proměnných je strukturovaná tak, aby podporovala více sad hodnot. Ve schématu položky (jeho definice JSON) jsou všechny proměnné a jejich výchozí hodnoty uvedené v primární části (často označovaný jako soubor Výchozí hodnoty v Gitu). Každá další sada hodnot je uložena jako samostatná entita (nebo soubor) obsahující pouze proměnné, které se liší od výchozího nastavení. Jinými slovy, pokud je hodnota proměnné v dané sadě hodnot stejná jako výchozí, nebude se explicitně opakovat v definici dané sady hodnot.
Výchozí sada hodnot: Vždy je přítomna a obsahuje základní hodnotu každé proměnné (spolu s metadaty, jako je název a typ). Výchozí soubor hodnot vytvoří výčet všech proměnných s jejich výchozími (primárními) hodnotami.
Alternativní sada hodnot: Pro každou další sadu hodnot (například sada hodnot Test nebo Prod) se v definici zobrazí jenom proměnné, ve kterých hodnota přepíše výchozí hodnotu. Pokud proměnná není uvedená v souboru konkrétní sady hodnot, implicitně použije výchozí hodnotu pro danou sadu.
Příklad: Pokud máte proměnnou ConnectionString s výchozí hodnotou dev-server a vytvoříte hodnotu Production, která tuto hodnotu přepíše na "prod-server", výchozí definice bude mít ConnectionString = "dev-server" a soubor sady hodnot Production bude obsahovat ConnectionString = "prod-server" (a nic pro proměnné, které zůstávají beze změny). Tento přístup udržuje definice sady hodnot štíhlé a zvýrazňuje pouze rozdíly.
Reprezentace správy zdrojového kódu
V integraci Gitu v systému Fabric se výše uvedené schéma překládá do více souborů ve složce Knihovny proměnných. Každá sada hodnot je podle návrhu serializována do vlastního souboru JSON (pojmenovaného po sadě hodnot), který obsahuje jeho přepsání, odděleně od výchozího souboru hodnot. Například položka VL "MyVars" může mít:
MyVars_Default.json – výchozí hodnoty všech proměnných MyVars_Prod.json – pouze proměnné s hodnotami, které se pro fázi "Prod" liší. MyVars_Test.json – pouze proměnné s hodnotami, které se pro fázi testování liší.
Toto jasné oddělení znamená, že můžete sledovat změny konfigurace jednotlivých prostředí nezávisle ve správě zdrojového kódu.
Důležité je, že výběr sady aktivních hodnot není součástí těchto definičních souborů – uloží se jako stav položky (nastavení na úrovni pracovního prostoru), takže nasazení nebo import položky nepřepíše, která sada hodnot je v daném pracovním prostoru aktuálně aktivní. (Další informace o sadách aktivních hodnot najdete níže.)
Schéma a datové typy
Sady hodnot nezavádějí nové datové typy; obsahují hodnoty stejných typů definovaných každou proměnnou. Definice položky zaznamenává název každé proměnné, typ, výchozí hodnotu a volitelnou poznámku. Komplexní typy proměnných, jako jsou odkaz na položku a odkaz na připojení, mají strukturovaná schémata pro ukládání ID, a tyto hodnoty jsou reprezentovány v každé sadě hodnot konzistentní strukturou JSON (například odkaz na položku ukládá ID pracovního prostoru + ID položky pro danou fázi). Všechny soubory sady hodnot mají stejnou strukturu schématu jako výchozí: v podstatě mapování názvů proměnných na hodnoty této sady (včetně těch, které se liší od výchozího nastavení).
Konvence vytváření názvů pro sady hodnot
Název sady hodnot uvnitř knihovny proměnných musí odpovídat těmto konvencím:
- Není prázdný.
- Nemá úvodní ani koncové mezery.
- Začíná písmenem nebo podtržítkem.
- Může obsahovat písmena, číslice, podtržítka a pomlčky.
- Délka nepřekračuje 256 znaků
Pokud se pokusíte změnit typ proměnné, zobrazí se dialogové okno pro vyjádření souhlasu. Dialogové okno vás upozorní, že všechny hodnoty proměnných budou resetovat a že tato změna může být zásadní změnou na straně položky příjemce.
Úvahy a omezení
Omezení pro alternativní sady hodnot
- Alternativní sady hodnot v knihovně proměnných se zobrazí v pořadí, ve kterém jste je přidali. V současné době je nemůžete v uživatelském rozhraní přeuspořádat. Pokud chcete změnit pořadí, upravte soubor JSON přímo.
- Název každé sady hodnot musí být v knihovně proměnných jedinečný.
- Názvy proměnných musí být v knihovně proměnných jedinečné. Pokud se nachází v různých položkách, můžete mít v pracovním prostoru dvě proměnné se stejným názvem.
- V knihovně proměnných je vždy aktivní pouze jeden soubor hodnot. Hodnotu nastavenou v době, kdy je aktivní, nemůžete odstranit. Pokud ho chcete odstranit, nejprve nakonfigurujte jinou sadu hodnot tak, aby byla aktivní. Pro každou fázi kanálu nasazení můžete mít jinou sadu aktivních hodnot.