Latihan - Menggunakan modul dari registri Anda
Pada latihan sebelumnya, Anda menerbitkan CDN dan modul situs web ke registri perusahaan mainan Anda. Sekarang, Anda ingin menunjukkan kepada tim yang mengembangkan anjing mainan cara menggunakan modul untuk penyebarannya sendiri.
Dalam latihan ini, Anda akan:
- Buat file Bicep yang menyertakan modul dari registri pribadi Anda.
- Tambahkan referensi ke modul di registri.
- Bangun dan periksa file Bicep untuk memahami cara kerja proses pemulihan modul.
- Beralih ke menggunakan alias registri.
- Sebarkan file Bicep Anda ke Azure.
Membuat file Bicep
Di Visual Studio Code, buat file baru bernama main.bicep.
Simpan file kosong sehingga Visual Studio Code dapat memuat alat Bicep.
Anda dapat memilih File>Simpan Sebagai atau memilih Ctrl+S di Windows (⌘+S di macOS). Ingat tempat Anda menyimpan file. Misalnya, Anda mungkin ingin membuat folder templat untuk menyimpan filenya.
Tambahkan modul ke file Bicep
Dalam file main.bicep, tambahkan parameter dan variabel berikut:
@description('The Azure region into which the resources should be deployed.') param location string = 'westus3' @description('The name of the App Service app.') param appServiceAppName string = 'toy-${uniqueString(resourceGroup().id)}' @description('The name of the App Service plan SKU.') param appServicePlanSkuName string = 'F1' var appServicePlanName = 'toy-dog-plan'
Di bawah parameter dan variabel, gunakan kode berikut untuk menambahkan modul situs web dari registri Anda. Ganti
YOUR_CONTAINER_REGISTRY_NAME
dengan nama registri pribadi Anda.module website 'br:YOUR_CONTAINER_REGISTRY_NAME.azurecr.io/website:v1' = { name: 'toy-dog-website' params: { appServiceAppName: appServiceAppName appServicePlanName: appServicePlanName appServicePlanSkuName: appServicePlanSkuName location: location } }
Perhatikan bahwa Bicep menunjukkan garis berlekuk-lekuk merah di bawah pengidentifikasi modul saat Anda mulai mengetik, tetapi kemudian garis berlekuk-lekuk itu hilang. Perilaku ini terjadi karena ekstensi Bicep untuk Visual Studio Code membaca modul dari registri dan menyimpannya ke sistem file lokal Anda.
Di bawah modul yang Anda buat, gunakan kode berikut untuk menambahkan modul CDN dari registri Anda. Ganti
YOUR_CONTAINER_REGISTRY_NAME
dengan nama registri pribadi Anda.module cdn 'br:YOUR_CONTAINER_REGISTRY_NAME.azurecr.io/cdn:v1' = { name: 'toy-dog-cdn' params: { httpsOnly: true originHostName: website.outputs.appServiceAppHostName } }
Simpan file.
Membangun dan memeriksa file Bicep Anda
Di sini, Anda membuat file Bicep ke template JSON ARM. Anda biasanya tidak perlu melakukan build, tetapi sangat membantu ketika Anda mempelajari cara kerja modul.
Di terminal Visual Studio Code, jalankan perintah berikut untuk membuat file Bicep menjadi file JSON:
az bicep build --file main.bicep
Bicep membuat file bernama main.json dalam folder yang sama dengan file main.bicep.
Buka file main.json.
Perhatikan bahwa di bagian
resources
dari templat JSON ARM, mulai dari sekitar baris 134, beberapa sumber memiliki jenisMicrosoft.Resources/deployments
. Sumber daya ini mewakili penyebaran modul yang ditentukan dalam modul yang Anda tambahkan dari registri.
Di terminal Visual Studio Code, jalankan perintah berikut untuk membuat file Bicep menjadi file JSON:
bicep build main.bicep
Bicep membuat file bernama main.json dalam folder yang sama dengan file main.bicep.
Buka file main.json.
Perhatikan bahwa di bagian
resources
dari templat JSON ARM, mulai dari sekitar baris 134, beberapa sumber memiliki jenisMicrosoft.Resources/deployments
. Sumber daya ini mewakili penyebaran modul yang ditentukan dalam modul yang Anda tambahkan dari registri.
Membuat alias registri
Anda memutuskan untuk membuat alias registri sebagai ganti menyematkan URL registri di file Bicep Anda. Pendekatan ini membuat file Bicep lebih mudah dibaca.
Di Visual Studio Code, buat file baru bernama bicepconfig.json. Buat dalam folder yang sama dengan file main.bicep.
Tempelkan kode berikut ke dalam file bicepconfig.json. Ganti
YOUR_CONTAINER_REGISTRY_NAME
dengan nama registri pribadi Anda.{ "moduleAliases": { "br": { "ToyCompanyRegistry": { "registry": "YOUR_CONTAINER_REGISTRY_NAME.azurecr.io" } } } }
Simpan file.
Menggunakan alias registri
Di sini, Anda memperbarui file Bicep Anda untuk menggunakan alias registri sebagai ganti merujuk langsung ke registri.
Membuka file main.bicep.
Temukan definisi modul
website
, dan ubah definisi untuk menyertakan alias registri:module website 'br/ToyCompanyRegistry:website:v1' = { name: 'toy-dog-website' params: { appServiceAppName: appServiceAppName appServicePlanName: appServicePlanName appServicePlanSkuName: appServicePlanSkuName location: location } }
Tip
Pastikan untuk mengubah awal jalur modul dari
br:
kebr/
. Selain itu, setelahToyCompanyRegistry
, ubah karakter garis miring (/
) menjadi titik dua (:
).Buat perubahan serupa pada modul
cdn
:module cdn 'br/ToyCompanyRegistry:cdn:v1' = { name: 'toy-dog-cdn' params: { httpsOnly: true originHostName: website.outputs.appServiceAppHostName } }
Simpan file.
Memverifikasi file Bicep Anda
Setelah Anda menyelesaikan semua perubahan sebelumnya, file main.bicep Anda akan terlihat seperti contoh ini:
@description('The Azure region into which the resources should be deployed.')
param location string = 'westus3'
@description('The name of the App Service app.')
param appServiceAppName string = 'toy-${uniqueString(resourceGroup().id)}'
@description('The name of the App Service plan SKU.')
param appServicePlanSkuName string = 'F1'
var appServicePlanName = 'toy-dog-plan'
module website 'br/ToyCompanyRegistry:website:v1' = {
name: 'toy-dog-website'
params: {
appServiceAppName: appServiceAppName
appServicePlanName: appServicePlanName
appServicePlanSkuName: appServicePlanSkuName
location: location
}
}
module cdn 'br/ToyCompanyRegistry:cdn:v1' = {
name: 'toy-dog-cdn'
params: {
httpsOnly: true
originHostName: website.outputs.appServiceAppHostName
}
}
Jika file tidak cocok, salin contoh atau sesuaikan template Anda agar sesuai dengan contoh.
Sebarkan ke Azure
Di terminal Visual Studio Code, sebarkan templat ke Azure dengan menjalankan perintah berikut ini. Proses ini dapat memakan waktu beberapa menit untuk menyelesaikan penyebaran yang berhasil.
az deployment group create \
--template-file main.bicep
New-AzResourceGroupDeployment -TemplateFile main.bicep
Verifikasi penyebaran
Buka portal Microsoft Azure dan pastikan Anda berada di langganan kotak pasir:
- Pilih avatar Anda di sudut kanan atas halaman.
- Lalu pilih Beralih direktori. Dalam daftar, pilih direktori Microsoft Learn Sandbox.
Di panel sebelah kiri, pilih Grup sumber daya.
Pilih
[nama grup sumber daya kotak pasir] .Di menu kiri, pilih Penyebaran.
Perhatikan bahwa tiga penyebaran terdaftar:
- utama mewakili penyebaran file Bicep induk Anda.
- toy-dog-cdn dan toy-dog-website mewakili modul yang Anda sertakan dalam file main.bicep Anda.
Pilih penyebaran utama dan perluas detail Penyebaran.
Perhatikan bahwa kedua modul terdaftar, dan bahwa jenisnya ditampilkan sebagai
Microsoft.Resources/deployments
. Modultoy-dog-website
dicantumkan dua kali karena outputnya juga direferensikan di dalam templat.Pilih penyebaran toy-dog-cdn dan toy-dog-website, dan tinjau sumber daya yang disebarkan di masing-masing penyebaran. Perhatikan bahwa penyebaran tersebut sesuai dengan sumber daya yang ditentukan dalam modul masing-masing.