Správa specifikace šablony

Dokončeno

Specifikace šablon poskytují pohodlný způsob publikování a sdílení šablon ve vaší organizaci. Při použití specifikací šablon se stává důležité pochopit, jak je spravovat.

V této lekci se dozvíte o správě verzí, o tom, jak upravit a odstranit specifikace šablon a jak řídit přístup ke specifikacím šablony.

Poznámka:

Příkazy v této lekci jsou znázorněny pro ilustraci konceptů. Zatím nespouštět příkazy. Brzy si procvičíte, co se tady naučíte.

Přidání verzí

Dozvěděli jste se, že specifikace jedné šablony může mít více verzí. Specifikace šablony funguje jako kontejner pro jednu nebo více verzí a každá verze je přidružená k souboru šablony. Když nasadíte specifikaci šablony, musíte zadat verzi, kterou chcete použít, aby Azure Resource Manager věděl, který soubor šablony se má načíst.

Azure CLI a Azure PowerShell usnadňují práci s několika verzemi. Ve skutečnosti jste už pracovali s verzemi při nasazení specifikace šablony v předchozím cvičení.

Je vhodné pečlivě naplánovat, jak budete specifikace šablony používat. Dvě klíčová rozhodnutí, která je třeba provést, jsou schéma správy verzí a zásady správy verzí, které se mají použít.

Schémata správy verzí

Schéma správy verzí určuje způsob generování čísel verzí. Mezi běžná schémata správy verzí patří:

  • Základní celá čísla lze použít jako čísla verzí. Vaše první verze se může například volat 1, vaše druhá verze 2atd.
  • Kalendářní data také dělají dobrá čísla verzí. Pokud například publikujete první verzi specifikace šablony 16. ledna 2021, můžete ji pojmenovat 2021-01-16 (ve formátu rrrr-mm-dd ). Když publikujete jinou verzi 3. března, můžete ji 2021-03-03pojmenovat .
  • Sémantická správa verzí je systém správy verzí, který se často používá v softwaru, kde jedno číslo verze obsahuje více částí. Každá část signalizuje různé informace o povaze změny.

I když můžete použít libovolné schéma správy verzí, které se vám líbí, je vhodné zvolit něco, co se dá seřadit do smysluplného pořadí, jako jsou čísla a kalendářní data.

Poznámka:

Azure ukládá datum vytvoření každé verze. I když nepoužíváte správu verzí na základě data, můžete tyto informace stále zobrazit.

Zásady správy verzí

Specifikace šablon poskytují flexibilitu při vytváření nových verzí nebo aktualizaci existující verze. Můžete se například efektivně odhlásit z správy verzí vytvořením a publikováním jedné verze s názvem latest. Kdykoli potřebujete změnit specifikaci šablony, stačí tuto verzi aktualizovat. I když tato zásada funguje, není to dobrý postup.

Naopak pokud provedete malou změnu existující šablony, která nemá vliv na její použití, vytvoření nové verze pravděpodobně není dobrý nápad. Nové číslo verze byste museli sdělit komukoli, kdo používá specifikaci šablony.

Tady je zásada správy verzí, která často funguje dobře:

  • Kdykoli provedete významné změny specifikace šablony, vytvořte novou verzi. Mezi významné změny specifikace šablony patří cokoli, co by mohlo znamenat rozdíl pro uživatele, který ji nasadí. Mezi příklady patří přidání dalšího prostředku do šablony nebo změna vlastností prostředku.
  • Kdykoli provedete malé změny specifikace šablony, které se někdy nazývají opravy hotfix, aktualizujte stávající verzi specifikace šablony.
  • Odstraňte staré verze, pokud už nejsou relevantní nebo když nechcete, aby je někdo používal.

Tip

Zvažte uživatele specifikace šablony a ujistěte se, že si myslíte, co očekávají. Pokud uživatel nasadí specifikaci šablony vícekrát a získá jeden výsledek a pak ho znovu nasadí po opravě hotfix a získá jiný výsledek, pravděpodobně bude překvapen. Pokuste se minimalizovat pravděpodobnost, že vaši uživatelé dostanou výsledek, který neočekávají.

Popisy verzí

Když vytvoříte novou verzi specifikace šablony, můžete ji volitelně zadat popis verze. Poskytnutí popisu verze je dobrým postupem, i když není povinné. Popis verze shrnuje změny, které jste udělali, a pomáhá tak všem uživatelům, kteří používají specifikaci šablony, vybrat verzi, která nejlépe vyhovuje jejich potřebám.

Provedení změn specifikace šablony

Specifikace šablon jsou prostředky Azure, takže je můžete spravovat stejně jako jakýkoli jiný prostředek. To znamená, že můžete zobrazit podrobnosti o specifikaci šablony, aktualizovat ji a odstranit stejně jako obvykle.

Pokud chcete například zobrazit seznam verzí specifikace šablony, použijte rutinu Get-AzTemplateSpec :

Get-AzTemplateSpec `
  -ResourceGroupName MyResourceGroup `
  -Name MyTemplateSpec

Stejná rutina se používá k zobrazení verze specifikace šablony. -Version Přidejte parametr pro získání podrobností o verzi:

Get-AzTemplateSpec `
  -ResourceGroupName MyResourceGroup `
  -Name MyTemplateSpec `
  -Version 1.0

K šabloně JSON se dostanete čtením MainTemplate vlastnosti z Versions pole:

(Get-AzTemplateSpec `
  -ResourceGroupName MyResourceGroup `
  -Name MyTemplateSpec `
  -Version 1.0 `
).Versions[0].MainTemplate

Pokud například chcete zobrazit seznam verzí specifikace šablony, použijte az ts show příkaz:

az ts show \
  --resource-group MyResourceGroup \
  --name MyTemplateSpec

Stejný příkaz slouží k zobrazení verze specifikace šablony. --version Přidejte argument pro získání podrobností o verzi:

az ts show \
  --resource-group MyResourceGroup \
  --name MyTemplateSpec \
  --version 1.0

Šablona JSON je součástí výstupu.

Poznámka:

Když publikujete soubor Bicep do specifikace šablony, převede se na JSON. Původní soubor Bicep se nezobrazuje, takže je vhodné si ho nechat někde jinde.

Pokud chcete aktualizovat existující specifikaci šablony, použijte rutinu Set-AzTemplateSpec . Tuto rutinu můžete použít například k použití opravy hotfix na verzi, kterou jste již publikovali:

Set-AzTemplateSpec `
  -ResourceGroupName MyResourceGroup `
  -Name MyTemplateSpec `
  -Version 1.0 `
  -TemplateFile azuredeploy.json

Verzi specifikace šablony můžete odstranit pomocí rutiny Remove-AzTemplateSpec :

Remove-AzTemplateSpec `
  -ResourceGroupName MyResourceGroup `
  -Name MyTemplateSpec `
  -Version 1.0

Pokud chcete aktualizovat existující specifikaci šablony, použijte az ts update příkaz. Tento příkaz můžete například použít k použití opravy hotfix na verzi, kterou jste již publikovali:

az ts update \
  --resource-group MyResourceGroup \
  --name MyTemplateSpec \
  --version 1.0 \
  --template-file azuredeploy.json

Verzi specifikace šablony můžete odstranit pomocí az ts delete příkazu:

az ts delete \
  --resource-group MyResourceGroup \
  --name MyTemplateSpec \
  --version 1.0

Export specifikace šablony

Po publikování šablony jako specifikace šablony ji můžete exportovat . Export specifikace šablony stáhne soubor šablony do místního počítače. Tam můžete soubor šablony buď upravit, nebo ho jenom zkontrolovat, abyste pochopili, co dělá.

Tip

Pokud specifikace šablony obsahuje propojené šablony, export specifikace šablony stáhne také propojené šablony. Dokonce udržuje strukturu složek.

Důležité

Když publikujete soubor Bicep jako specifikaci šablony, kód Bicep se převede na šablonu JSON. Proces převodu kódu Bicep na JSON odebere některé informace v souboru Bicep. Například komentáře, symbolické názvy prostředků a pořadí, ve kterém definujete prostředky, můžou chybět nebo se lišit ve formátu JSON. To znamená, že nemůžete snadno publikovat soubor Bicep jako specifikaci šablony a pak získat původní soubor Bicep zpět (označovaný také jako zaokrouhlování). Je vhodné zachovat kopii původního kódu Bicep v úložišti kódu, jako je Git, zejména při práci se specifikacemi šablon.

K exportu specifikace šablony použijte rutinu Export-AzTemplateSpec . -OutputFolder Pomocí hodnoty určete, kam chcete soubory šablony uložit:

Export-AzTemplateSpec `
  -ResourceGroupName MyResourceGroup `
  -Name MyTemplateSpec `
  -Version 1.0 `
  -OutputFolder ./mytemplate

K exportu specifikace šablony az ts export použijte příkaz. --output-folder Pomocí hodnoty určete, kam chcete soubory šablony uložit:

az ts export \
  --resource-group MyResourceGroup \
  --name MyTemplateSpec \
  --version 1.0 \
  --output-folder ./mytemplate

Řízení přístupu ke specifikaci šablony

Vzhledem k tomu, že specifikace šablon jsou prostředky Azure, používají správu identit a přístupu (IAM) Azure. Když uživatel nasadí specifikaci šablony, Azure nejprve zkontroluje, jestli má uživatel přístup ke čtení specifikace šablony.

Poznámka:

Pokud chcete nasadit specifikaci šablony, potřebuje uživatel:

  • Přístup ke čtení specifikace šablony
  • Přístup k nasazení do skupiny prostředků nebo jiného oboru, do kterého žádá o nasazení.

Azure kontroluje obě podmínky před spuštěním nasazení.