Zarządzanie specyfikacją szablonu
Specyfikacje szablonów zapewniają wygodny sposób publikowania i udostępniania szablonów w organizacji. W miarę używania specyfikacji szablonu ważne jest, aby zrozumieć, jak nimi zarządzać.
W tej lekcji dowiesz się więcej na temat przechowywania wersji, modyfikowania i usuwania specyfikacji szablonu oraz kontrolowania dostępu do specyfikacji szablonu.
Uwaga
Polecenia w tej lekcji są wyświetlane w celu zilustrowania pojęć. Nie uruchamiaj jeszcze poleceń. Będziesz ćwiczyć to, czego nauczysz się tutaj wkrótce.
Dodawanie wersji
Wiesz już, że specyfikacja pojedynczego szablonu może mieć wiele wersji. Specyfikacja szablonu działa jako kontener dla co najmniej jednej wersji, a każda wersja jest skojarzona z plikiem szablonu. Podczas wdrażania specyfikacji szablonu należy określić wersję, której chcesz użyć, aby usługa Azure Resource Manager wiedziała, który plik szablonu ma zostać pobrany.
Interfejs wiersza polecenia platformy Azure i program Azure PowerShell ułatwiają pracę z wieloma wersjami. W rzeczywistości podczas wdrażania specyfikacji szablonu w poprzednim ćwiczeniu już pracowałeś z wersjami.
Dobrym pomysłem jest dokładne zaplanowanie wersji specyfikacji szablonu. Dwie kluczowe decyzje, które należy podjąć, to schemat przechowywania wersji i zasady przechowywania wersji do użycia.
Schematy przechowywania wersji
Schemat przechowywania wersji określa sposób generowania numerów wersji. Typowe schematy przechowywania wersji obejmują:
- Podstawowe liczby całkowite mogą być używane jako numery wersji. Na przykład pierwsza wersja może mieć nazwę
1
, drugą wersję2
itd. - Daty również mają dobre numery wersji. Jeśli na przykład opublikujesz pierwszą wersję specyfikacji szablonu 16 stycznia 2021 r., możesz nazwać wersję
2021-01-16
(przy użyciu formatu rrrr-mm-dd ). Podczas publikowania innej wersji 3 marca można ją2021-03-03
nazwać . - Semantyczne przechowywanie wersji to system przechowywania wersji często używany w oprogramowaniu, w którym pojedynczy numer wersji zawiera wiele części. Każda część sygnalizuje różne informacje o charakterze zmiany.
Chociaż można użyć dowolnego schematu przechowywania wersji, warto wybrać coś, co można posortować w zrozumiałą kolejność, taką jak liczby i daty.
Uwaga
Platforma Azure przechowuje datę utworzenia każdej wersji. Nawet jeśli nie używasz przechowywania wersji opartych na dacie, nadal możesz zobaczyć te informacje.
Zasady przechowywania wersji
Specyfikacje szablonu zapewniają elastyczność wyboru, kiedy utworzyć nowe wersje lub zaktualizować istniejącą wersję. Na przykład możesz skutecznie zrezygnować z przechowywania wersji, tworząc i publikując pojedynczą wersję o nazwie latest
. Zawsze, gdy trzeba zmienić specyfikację szablonu, wystarczy zaktualizować wersję. Chociaż te zasady działają, nie jest to dobre rozwiązanie.
Z drugiej strony, jeśli wprowadzisz niewielką zmianę istniejącego szablonu, który nie ma wpływu na jego użycie, utworzenie nowej wersji prawdopodobnie nie jest dobrym pomysłem. Należy przekazać nowy numer wersji każdemu, kto używa specyfikacji szablonu.
Oto zasady przechowywania wersji, które często działają dobrze:
- Za każdym razem, gdy wprowadzisz istotne zmiany w specyfikacji szablonu, utwórz nową wersję. Istotne zmiany specyfikacji szablonu obejmują wszystkie elementy, które mogą mieć wpływ na użytkownika, który go wdraża. Przykłady obejmują dodanie innego zasobu do szablonu lub zmianę właściwości zasobu.
- Za każdym razem, gdy wprowadzisz niewielkie zmiany w specyfikacji szablonu, które są czasami nazywane poprawką, zaktualizuj istniejącą wersję specyfikacji szablonu.
- Usuń stare wersje, gdy nie są już istotne lub gdy nie chcesz, aby ktokolwiek z nich korzystał.
Napiwek
Rozważ użytkowników specyfikacji szablonu i upewnij się, że myślisz o tym, czego się spodziewają. Jeśli użytkownik wdraża specyfikację szablonu wiele razy i otrzymuje jeden wynik, a następnie wdraża go ponownie po poprawce i otrzyma inny wynik, prawdopodobnie będzie zaskoczony. Spróbuj zminimalizować prawdopodobieństwo, że użytkownicy otrzymają wynik, którego nie oczekują.
Opisy wersji
Podczas tworzenia nowej wersji specyfikacji szablonu można opcjonalnie nadać jej opis wersji. Podanie opisu wersji jest dobrym rozwiązaniem, nawet jeśli nie jest to wymagane. Opis wersji zawiera podsumowanie wprowadzonych zmian, aby ułatwić każdemu, kto używa specyfikacji szablonu do wybierania wersji, która najlepiej odpowiada ich potrzebom.
Wprowadzanie zmian w specyfikacji szablonu
Specyfikacje szablonu to zasoby platformy Azure, dzięki czemu można nimi zarządzać jak każdy inny zasób. Oznacza to, że można wyświetlić szczegóły specyfikacji szablonu, zaktualizować ją i usunąć, tak jak zwykle.
Aby na przykład wyświetlić listę wersji specyfikacji szablonu, użyj Get-AzTemplateSpec
polecenia cmdlet :
Get-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec
To samo polecenie cmdlet służy do wyświetlania wersji specyfikacji szablonu. Dodaj parametr , -Version
aby uzyskać szczegółowe informacje o wersji:
Get-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0
Dostęp do szablonu JSON można uzyskać, odczytując MainTemplate
właściwość z tablicy Versions
:
(Get-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0 `
).Versions[0].MainTemplate
Aby na przykład wyświetlić listę wersji specyfikacji szablonu, użyj az ts show
polecenia :
az ts show \
--resource-group MyResourceGroup \
--name MyTemplateSpec
To samo polecenie służy do wyświetlania wersji specyfikacji szablonu. Dodaj argument , --version
aby uzyskać szczegółowe informacje o wersji:
az ts show \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0
Szablon JSON jest uwzględniony w danych wyjściowych.
Uwaga
Podczas publikowania pliku Bicep na specyfikację szablonu jest on konwertowany na format JSON. Nie można zobaczyć oryginalnego pliku Bicep, więc warto zachować to gdzieś indziej.
Aby zaktualizować istniejącą specyfikację szablonu, użyj Set-AzTemplateSpec
polecenia cmdlet . Możesz na przykład użyć tego polecenia cmdlet, aby zastosować poprawkę do wersji, która została już opublikowana:
Set-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0 `
-TemplateFile azuredeploy.json
Możesz również usunąć wersję specyfikacji szablonu przy użyciu Remove-AzTemplateSpec
polecenia cmdlet :
Remove-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0
Aby zaktualizować istniejącą specyfikację szablonu, użyj az ts update
polecenia . Na przykład możesz użyć tego polecenia, aby zastosować poprawkę do wersji, która została już opublikowana:
az ts update \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0 \
--template-file azuredeploy.json
Możesz również usunąć wersję specyfikacji szablonu az ts delete
przy użyciu polecenia :
az ts delete \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0
Eksportowanie specyfikacji szablonu
Po opublikowaniu szablonu jako specyfikacji szablonu możesz go wyeksportować. Eksportowanie specyfikacji szablonu powoduje pobranie pliku szablonu na komputer lokalny. W tym miejscu możesz edytować plik szablonu lub po prostu go sprawdzić, aby zrozumieć, co robi.
Napiwek
Jeśli specyfikacja szablonu zawiera szablony połączone, eksportowanie specyfikacji szablonu spowoduje również pobranie połączonych szablonów. Utrzymuje nawet strukturę folderów.
Ważne
Podczas publikowania pliku Bicep jako specyfikacji szablonu kod Bicep jest konwertowany na szablon JSON. Proces konwertowania kodu Bicep na kod JSON usuwa niektóre informacje w pliku Bicep. Na przykład komentarze, nazwy symboliczne zasobów i kolejność definiowania zasobów mogą być brakujące lub inne w formacie JSON. Oznacza to, że nie można łatwo opublikować pliku Bicep jako specyfikacji szablonu, a następnie uzyskać oryginalny plik Bicep z powrotem (nazywany również roundtripping). Dobrym pomysłem jest przechowywanie kopii oryginalnego kodu Bicep w repozytorium kodu, takiego jak Git, szczególnie w przypadku pracy ze specyfikacjami szablonu.
Aby wyeksportować specyfikację szablonu, użyj Export-AzTemplateSpec
polecenia cmdlet . -OutputFolder
Użyj wartości , aby określić, gdzie chcesz zapisać pliki szablonu:
Export-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0 `
-OutputFolder ./mytemplate
Aby wyeksportować specyfikację szablonu, użyj az ts export
polecenia . --output-folder
Użyj wartości , aby określić, gdzie chcesz zapisać pliki szablonu:
az ts export \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0 \
--output-folder ./mytemplate
Kontrolowanie dostępu do specyfikacji szablonu
Ponieważ specyfikacje szablonu to zasoby platformy Azure, używają zarządzania tożsamościami i dostępem (IAM) platformy Azure. Gdy użytkownik wdraża specyfikację szablonu, platforma Azure sprawdza, czy użytkownik ma dostęp do odczytu specyfikacji szablonu.
Uwaga
Aby wdrożyć specyfikację szablonu, użytkownik musi:
- Dostęp do odczytu specyfikacji szablonu.
- Dostęp do wdrożenia w grupie zasobów lub w innym zakresie, do którego prosi o wdrożenie.
Platforma Azure sprawdza oba warunki przed rozpoczęciem wdrażania.