Administrer en skabelonspecifikation
Skabelonspecifikationer gør det nemt at publicere og dele skabeloner i din organisation. Efterhånden som du bruger skabelonspecifikationer mere, bliver det vigtigt at forstå, hvordan du administrerer dem.
I dette undermodul får du mere at vide om versionering, hvordan du ændrer og sletter skabelonspecifikationer, og hvordan du styrer adgangen til skabelonspecifikationer.
Seddel
Kommandoerne i dette undermodul vises for at illustrere begreber. Kør ikke kommandoerne endnu. Du skal snart øve dig i det, du lærer her.
Tilføj versioner
Du har lært, at en enkelt skabelonspecifikation kan have flere versioner. En skabelonspecifikation fungerer som en objektbeholder for en eller flere versioner, og hver version er knyttet til en skabelonfil. Når du udruller en skabelonspecifikation, skal du angive den version, du vil bruge, så Azure Resource Manager ved, hvilken skabelonfil der skal hentes.
Azure CLI og Azure PowerShell gør det nemt at arbejde med flere versioner. Faktisk har du allerede arbejdet med versioner, da du udrullede skabelonspecifikationen i den forrige øvelse.
Det er en god idé at planlægge omhyggeligt, hvordan du vil versionere dine skabelonspecifikationer. To vigtige beslutninger er det versionsstyringsskema og den versionspolitik, der at bruge.
Versioneringsskemaer
Dit versionsstyringsskema bestemmer, hvordan du genererer versionsnumre. Almindelige versioneringsskemaer omfatter:
-
Grundlæggende heltal kan bruges som versionsnumre. Din første version kan f.eks. kaldes
1
, din anden version2
osv. -
Datoer også gøre gode versionsnumre. Hvis du f.eks. publicerer den første version af skabelonspecifikationen den 16. januar 2021, kan du navngive versionen
2021-01-16
(ved hjælp af formatet åååå-mm-dd). Når du publicerer en anden version den 3. marts, kan du navngive den2021-03-03
. - semantisk versionsstyring er et versionsstyringssystem, der ofte bruges i software, hvor et enkelt versionsnummer indeholder flere dele. Hver del signalerer forskellige oplysninger om ændringens art.
Selvom du kan bruge et hvilket som helst versionsstyringsskema, er det en god idé at vælge noget, der kan sorteres i en meningsfuld rækkefølge, f.eks. tal og datoer.
Seddel
Azure gemmer den dato, hvor hver version oprettes. Selvom du ikke bruger datobaseret versionsstyring, kan du stadig se disse oplysninger.
Versioneringspolitikker
Skabelonspecifikationer giver dig fleksibiliteten til at vælge, hvornår du vil oprette nye versioner eller opdatere en eksisterende version. Du kan f.eks. fravælge versioner effektivt ved at oprette og publicere en enkelt version med navnet latest
. Når du har brug for at ændre skabelonspecifikationen, skal du blot opdatere denne version. Selvom denne politik fungerer, er det ikke en god praksis.
Hvis du derimod foretager en lille ændring af en eksisterende skabelon, der ikke påvirker brugen af den, er det sandsynligvis ikke en god idé at oprette en ny version. Du skal kommunikere det nye versionsnummer til alle, der bruger skabelonspecifikationen.
Her er en versionspolitik, der ofte fungerer godt:
- Når du foretager betydelige ændringer af en skabelonspecifikation, skal du oprette en ny version. Væsentlige ændringer af skabelonspecifikationen omfatter alt, der kan gøre en forskel for den bruger, der installerer den. Eksempler omfatter tilføjelse af en anden ressource til skabelonen eller ændring af en ressources egenskaber.
- Når du foretager små ændringer af en skabelonspecifikation, som nogle gange kaldes et hotfix, skal du opdatere den eksisterende skabelonspecifikationsversion.
- Slet gamle versioner, når de ikke længere er relevante, eller når du ikke ønsker, at nogen skal bruge dem.
Drikkepenge
Overvej brugerne af din skabelonspecifikation, og sørg for at tænke over, hvad de forventer vil ske. Hvis en bruger installerer din skabelonspecifikation flere gange og får ét resultat og derefter installerer den igen efter et hotfix og får et andet resultat, vil vedkommende sandsynligvis blive overrasket. Prøv at minimere sandsynligheden for, at dine brugere får et resultat, de ikke forventer.
Versionsbeskrivelser
Når du opretter en ny version af en skabelonspecifikation, kan du eventuelt give den en versionsbeskrivelse. Det er god praksis at angive en versionsbeskrivelse, selvom det ikke er påkrævet. Versionsbeskrivelsen opsummerer de ændringer, du har foretaget, for at hjælpe alle, der bruger skabelonspecifikationen, med at vælge den version, der passer bedst til deres behov.
Foretage ændringer af en skabelonspecifikation
Skabelonspecifikationer er Azure-ressourcer, så du kan administrere dem på samme måde som alle andre ressourcer. Det betyder, at du kan få vist detaljerne for en skabelonspecifikation, opdatere den og slette den på samme måde som normalt.
Hvis du f.eks. vil have vist en liste over versioner af en skabelonspecifikation, skal du bruge cmdlet'en Get-AzTemplateSpec
:
Get-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec
Den samme cmdlet bruges til at få vist en skabelonspecifikation. Tilføj parameteren -Version
for at få oplysninger om en version:
Get-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0
Du kan få adgang til JSON-skabelonen ved at læse egenskaben MainTemplate
fra den Versions
matrix:
(Get-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0 `
).Versions[0].MainTemplate
Hvis du f.eks. vil have vist en liste over versioner af en skabelonspecifikation, skal du bruge kommandoen az ts show
:
az ts show \
--resource-group MyResourceGroup \
--name MyTemplateSpec
Den samme kommando bruges til at få vist en skabelonspecifikation. Tilføj argumentet --version
for at få oplysninger om en version:
az ts show \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0
JSON-skabelonen er inkluderet i outputtet.
Seddel
Når du publicerer en Bicep-fil til en skabelonspecifikation, konverteres den til JSON. Du kan ikke se den oprindelige Bicep-fil, så det er en god idé at beholde den et andet sted.
Hvis du vil opdatere en eksisterende skabelonspecifikation, skal du bruge cmdlet'en Set-AzTemplateSpec
. Du kan f.eks. bruge denne cmdlet til at anvende et hotfix på en version, du allerede har publiceret:
Set-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0 `
-TemplateFile azuredeploy.json
Og du kan slette en skabelonspecifikation ved hjælp af cmdlet'en Remove-AzTemplateSpec
:
Remove-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0
Hvis du vil opdatere en eksisterende skabelonspecifikation, skal du bruge kommandoen az ts update
. Du kan f.eks. bruge denne kommando til at anvende et hotfix på en version, du allerede har udgivet:
az ts update \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0 \
--template-file azuredeploy.json
Og du kan slette en skabelonspecifikation ved hjælp af kommandoen az ts delete
:
az ts delete \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0
Eksportér en skabelonspecifikation
Når du har publiceret en skabelon som en skabelonspecifikation, kan du eksportere den. Eksport af en skabelonspecifikation downloader skabelonfilen til din lokale computer. Her kan du enten redigere skabelonfilen eller blot undersøge den, så du kan forstå, hvad den gør.
Drikkepenge
Hvis skabelonspecifikationen indeholder sammenkædede skabeloner, downloader eksport af en skabelonspecifikation også de sammenkædede skabeloner. Det vedligeholder endda mappestrukturen.
Vigtig
Når du publicerer en Bicep-fil som en skabelonspecifikation, konverteres din Bicep-kode til en JSON-skabelon. Processen med at konvertere din Bicep-kode til JSON fjerner nogle af oplysningerne i din Bicep-fil. Dine kommentarer, symbolske navne for ressourcer og den rækkefølge, du definerer dine ressourcer i, kan f.eks. mangle eller være anderledes i JSON. Det betyder, at du ikke nemt kan publicere en Bicep-fil som skabelonspecifikation og derefter hente den oprindelige Bicep-fil tilbage (også kaldet afrundet). Det er en god idé at opbevare en kopi af din oprindelige Bicep-kode i et kodelager som Git, især når du arbejder med skabelonspecifikationer.
Hvis du vil eksportere en skabelonspecifikation, skal du bruge cmdlet'en Export-AzTemplateSpec
. Brug værdien -OutputFolder
til at angive, hvor du vil gemme skabelonfilerne:
Export-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0 `
-OutputFolder ./mytemplate
Hvis du vil eksportere en skabelonspecifikation, skal du bruge kommandoen az ts export
. Brug værdien --output-folder
til at angive, hvor du vil gemme skabelonfilerne:
az ts export \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0 \
--output-folder ./mytemplate
Kontrollér adgangen til en skabelonspecifikation
Da skabelonspecifikationer er Azure-ressourcer, bruger de Azures identitets- og adgangsstyring (IAM). Når en bruger installerer en skabelonspecifikation, kontrollerer Azure, at brugeren har adgang til at læse skabelonspecifikationen først.
Seddel
En bruger skal bruge følgende for at installere en skabelonspecifikation:
- Adgang til at læse skabelonspecifikationen.
- Adgang til at udrulle til ressourcegruppen eller et andet område, som de beder om at udrulle til.
Azure kontrollerer begge betingelser, før udrulningen starter.