Kelola spesifikasi templat

Selesai

Spesifikasi templat menyediakan cara yang mudah untuk menerbitkan dan berbagi templat dalam organisasi Anda. Saat Anda menggunakan spesifikasi templat lebih banyak, menjadi penting untuk memahami cara mengelolanya.

Dalam unit ini, Anda belajar tentang penerapan versi, cara memodifikasi dan menghapus spesifikasi templat, dan cara mengontrol akses ke spesifikasi templat.

Catatan

Perintah dalam unit ini ditampilkan untuk mengilustrasikan konsep. Jangan jalankan perintah terlebih dahulu. Anda akan segera mempraktikkan apa yang Anda pelajari di sini.

Menambahkan versi

Anda mempelajari bahwa spesifikasi templat tunggal dapat memiliki beberapa versi. Spesifikasi templat bertindak sebagai wadah untuk satu atau beberapa versi, dan setiap versi dikaitkan dengan file templat. Saat Anda menyebarkan spesifikasi templat, Anda perlu menentukan versi yang ingin Anda gunakan, sehingga Azure Resource Manager mengetahui file templat mana yang akan diambil.

Azure CLI dan Azure PowerShell memudahkan Anda untuk bekerja dengan beberapa versi. Bahkan, Anda sudah bekerja dengan versi saat Anda menyebarkan spesifikasi templat di latihan sebelumnya.

Ada baiknya Anda merencanakan dengan cermat bagaimana Anda akan membuat versi spesifikasi templat Anda. Dua keputusan utama yang akan dibuat adalah skema penerapan versi dan kebijakan penerapan versi yang akan digunakan.

Skema penerapan versi

Skema penerapan versi Anda menentukan cara Anda menghasilkan nomor versi. Skema penerapan versi umum meliputi:

  • Bilangan bulat dasar dapat digunakan sebagai nomor versi. Misalnya, versi pertama Anda mungkin disebut 1, versi kedua Anda 2, dan sebagainya.
  • Tanggal juga membuat nomor versi yang baik. Misalnya, jika Anda menerbitkan versi pertama spesifikasi templat pada 16 Januari 2021, Anda mungkin memberi nama versi 2021-01-16 (menggunakan format yyyy-mm-dd). Ketika Anda menerbitkan versi lain pada 3 Maret, Anda bisa menamainya 2021-03-03.
  • Penerapan versi semantik adalah sistem penerapan versi yang sering digunakan dalam perangkat lunak, di mana nomor versi tunggal berisi beberapa bagian. Setiap bagian menandakan informasi yang berbeda tentang sifat perubahan.

Meskipun Anda dapat menggunakan skema penerapan versi apa pun yang Anda suka, ada baiknya memilih sesuatu yang dapat diurutkan ke dalam urutan yang bermakna seperti angka dan tanggal.

Catatan

Azure menyimpan tanggal setiap versi dibuat. Meskipun Anda tidak menggunakan penerapan versi berbasis tanggal, Anda masih dapat melihat informasi ini.

Kebijakan penerapan versi

Spesifikasi templat memberi Anda fleksibilitas untuk memilih kapan harus membuat versi baru atau memperbarui versi yang sudah ada. Misalnya, Anda dapat secara efektif memilih untuk tidak membuat versi dengan membuat dan menerbitkan satu versi bernama latest. Setiap kali Anda perlu mengubah spesifikasi templat Anda, Anda cukup memperbarui versi itu. Meskipun kebijakan ini bekerja, itu bukan praktik yang baik.

Sebaliknya, jika Anda membuat perubahan kecil pada templat yang ada yang tidak memengaruhi penggunaannya, membuat versi baru mungkin bukan ide yang baik. Anda perlu mengkomunikasikan nomor versi baru kepada siapa pun yang menggunakan spesifikasi templat.

Berikut adalah kebijakan penerapan versi yang sering bekerja dengan baik:

  • Setiap kali Anda membuat perubahan signifikan pada spesifikasi templat, buat versi baru. Perubahan signifikan pada spesifikasi templat Anda mencakup apa pun yang mungkin membuat perbedaan bagi pengguna yang menyebarkannya. Contohnya termasuk menambahkan sumber daya lain ke templat atau mengubah properti sumber daya.
  • Setiap kali Anda membuat perubahan kecil pada spesifikasi templat, yang kadang-kadang disebut hotfix, perbarui versi spesifikasi templat yang ada.
  • Hapus versi lama saat tidak lagi relevan atau saat Anda tidak ingin siapa pun menggunakannya.

Tip

Pertimbangkan pengguna spesifikasi templat Anda, dan pastikan Anda memikirkan apa yang mereka harapkan akan terjadi. Jika pengguna menerapkan spesifikasi templat Anda beberapa kali dan mendapatkan satu hasil, lalu menyebarkannya lagi setelah hotfix dan mendapatkan hasil yang berbeda, mereka mungkin akan terkejut. Cobalah untuk meminimalkan kemungkinan pengguna Anda akan mendapatkan hasil yang tidak mereka harapkan.

Deskripsi versi

Saat Anda membuat versi baru spesifikasi templat, Anda dapat secara opsional memberikan deskripsi versi. Memberikan deskripsi versi adalah praktik yang baik, meskipun tidak diperlukan. Deskripsi versi meringkas perubahan yang Anda buat, untuk membantu siapa pun yang menggunakan spesifikasi templat Anda untuk memilih versi yang paling sesuai dengan kebutuhan mereka.

Membuat perubahan pada spesifikasi templat

Spesifikasi templat adalah sumber daya Azure, sehingga Anda bisa mengelolanya seperti sumber daya lainnya. Ini berarti Anda dapat melihat detail spesifikasi templat, memperbaruinya, dan menghapusnya, seperti biasa.

Misalnya, untuk mencantumkan versi spesifikasi templat, gunakan cmdlet Get-AzTemplateSpec:

Get-AzTemplateSpec `
  -ResourceGroupName MyResourceGroup `
  -Name MyTemplateSpec

Cmdlet yang sama digunakan untuk menampilkan versi spesifikasi templat. Tambahkan parameter -Version untuk mendapatkan detail versi:

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

Anda dapat mengakses templat JSON dengan membaca MainTemplate properti dari dalam Versions array:

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

Misalnya, untuk mencantumkan versi spesifikasi templat, gunakan perintah az ts show:

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

Perintah yang sama digunakan untuk menampilkan versi spesifikasi templat. Tambahkan argumen --version untuk mendapatkan detail versi:

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

Templat JSON disertakan dalam output.

Catatan

Saat Anda menerbitkan file Bicep ke spesifikasi templat, file tersebut dikonversi ke JSON. Anda tidak dapat melihat file Bicep asli, jadi ada baiknya untuk menyimpannya di tempat lain.

Untuk memperbarui spesifikasi templat yang sudah ada, Anda menggunakan cmdlet Set-AzTemplateSpec. Misalnya, Anda dapat menggunakan cmdlet ini untuk menerapkan perbaikan ke versi yang sudah Anda terbitkan:

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

Dan Anda dapat menghapus versi spesifikasi templat dengan menggunakan cmdlet Remove-AzTemplateSpec:

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

Untuk memperbarui spesifikasi templat yang sudah ada, Anda menggunakan perintah az ts update. Misalnya, Anda dapat menggunakan perintah ini untuk menerapkan perbaikan ke versi yang sudah Anda terbitkan:

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

Dan Anda dapat menghapus versi spesifikasi templat dengan menggunakan perintah az ts delete:

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

Ekspor spesifikasi templat

Setelah menerbitkan templat sebagai spesifikasi templat, Anda dapat mengekspornya . Mengekspor spesifikasi templat mengunduh file templat ke komputer lokal Anda. Di sana, Anda dapat mengedit file templat atau hanya memeriksanya sehingga Anda dapat memahami apa yang dilakukannya.

Tip

Jika spesifikasi templat Anda menyertakan templat yang ditautkan, maka mengekspor spesifikasi templat juga mengunduh templat yang ditautkan. Bahkan mempertahankan struktur folder.

Penting

Saat Anda menerbitkan file Bicep sebagai spesifikasi templat, kode Bicep Anda dikonversi ke templat JSON. Proses mengonversi kode Bicep Anda ke JSON menghapus beberapa informasi dalam file Bicep Anda. Misalnya, komentar Anda, nama simbolis untuk sumber daya, dan urutan di mana Anda menentukan sumber daya Anda mungkin hilang atau berbeda di JSON. Ini berarti Anda tidak dapat dengan mudah menerbitkan file Bicep sebagai spesifikasi templat dan kemudian mendapatkan file Bicep asli kembali (juga disebut roundtripping). Ada baiknya untuk menyimpan salinan kode Bicep asli Anda dalam repositori kode seperti Git, terutama ketika Anda bekerja dengan spesifikasi templat.

Untuk mengeskpor spesifikasi templat, gunakan cmdlet Export-AzTemplateSpec. Gunakan nilai -OutputFolder untuk menentukan di mana Anda ingin menyimpan file templat:

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

Untuk mengekspor spesifikasi templat, gunakan perintah az ts export. Gunakan nilai --output-folder untuk menentukan di mana Anda ingin menyimpan file templat:

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

Mengontrol akses ke spesifikasi templat

Karena spesifikasi templat adalah sumber daya Azure, mereka menggunakan manajemen identitas dan akses Azure (IAM). Saat pengguna menyebarkan spesifikasi templat, Azure memeriksa bahwa pengguna memiliki akses untuk membaca spesifikasi templat terlebih dahulu.

Catatan

Untuk menyebarkan spesifikasi templat, pengguna memerlukan:

  • Akses untuk membaca spesifikasi templat.
  • Akses untuk menyebarkan ke grup sumber daya atau lingkup lain yang mereka minta untuk disebarkan.

Azure memeriksa kedua kondisi sebelum penyebaran dimulai.