Membuat registri privat untuk modul Bisep
Untuk berbagi modul dalam organisasi, Anda dapat membuat registri modul privat. Anda kemudian dapat menerbitkan modul ke registri tersebut dan memberikan akses baca kepada pengguna yang perlu menyebarkan modul. Setelah modul dibagikan di registri, Anda dapat mereferensikannya dari file Bisep. Untuk menggunakan modul publik, lihat Modul Bicep.
Untuk bekerja dengan registri modul, Anda harus memiliki Bicep CLI versi 0.4.1008 atau yang lebih baru. Untuk digunakan dengan Azure CLI, Anda juga harus memiliki versi 2.31.0 atau yang lebih baru; untuk digunakan dengan Azure PowerShell, Anda juga harus memiliki versi 7.0.0 atau yang lebih baru.
Sumber daya pelatihan
Jika Anda ingin mempelajari parameter melalui panduan langkah demi langkah, lihat Berbagi modul Bicep dengan menggunakan registri privat.
Mengonfigurasi registri privat
Registri Bicep dihosting di Azure Container Registry (ACR). Gunakan langkah berikut untuk mengonfigurasi registri untuk modul Anda.
Jika sudah memiliki registri kontainer, Anda dapat menggunakannya. Jika Anda perlu membuat registri, lihat Memulai Cepat: Membuat registri kontainer menggunakan file Bicep.
Anda dapat menggunakan salah satu SKU registri yang tersedia untuk registri modul. Geo-replikasi registri menyediakan pengguna dengan kehadiran lokal atau sebagai hot-backup.
Dapatkan nama server masuk. Anda memerlukan nama ini saat menautkan ke registri dari file Bisep Anda. Format nama server masuk adalah:
<registry-name>.azurecr.io
.Untuk mendapatkan nama server masuk, gunakan Get-AzContainerRegistry.
Get-AzContainerRegistry -ResourceGroupName "<resource-group-name>" -Name "<registry-name>" | Select-Object LoginServer
Untuk menerbitkan modul ke registri, Anda harus memiliki izin untuk mendorong gambar. Untuk menyebarkan modul ke registri, Anda harus memiliki izin untuk mendorong gambar. Untuk informasi lebih lanjut tentang peran yang memberikan akses yang memadai, lihat peran dan izin Azure Container Registry.
Bergantung pada jenis akun yang Anda gunakan untuk menyebarkan modul, Anda mungkin perlu menyesuaikan info masuk mana yang digunakan. Info masuk ini diperlukan untuk mendapatkan modul dari registri. Secara default, info masuk diperoleh dari Azure CLI atau Azure PowerShell. Anda dapat menyesuaikan prioritas untuk mendapatkan info masuk dalam file bicepconfig.json. Untuk informasi lebih lanjut, lihat Info masuk untuk memulihkan modul.
Penting
Registri kontainer privat hanya tersedia bagi pengguna dengan akses yang diperlukan. Namun, diakses melalui internet publik. Untuk keamanan lebih lanjut, Anda dapat memerlukan akses melalui titik akhir privat. Lihat Menyambungkan ke registri kontainer Azure secara privat menggunakan Azure Private Link.
Registri kontainer privat harus memiliki kebijakan azureADAuthenticationAsArmPolicy
yang diatur ke enabled
. Jika azureADAuthenticationAsArmPolicy
diatur ke disabled
, Anda akan mendapatkan pesan kesalahan 401 (Tidak Sah) saat menerbitkan modul. Lihat Azure Container Registry memperkenalkan kebijakan Akses Bersyar.
Menerbitkan file ke registri
Setelah menyiapkan registri kontainer, Anda dapat menerbitkan file ke dalamnya. Gunakan perintah terbitkan dan berikan file Bisep apa pun yang ingin Anda gunakan sebagai modul. Tentukan lokasi target untuk modul di registri Anda. Perintah terbitkan membuat templat ARM, yang disimpan dalam registri. Ini berarti jika menerbitkan file Bicep yang mereferensikan modul lokal lainnya, modul ini sepenuhnya diperluas sebagai satu file JSON dan diterbitkan ke registri.
Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html
Dengan Bicep CLI versi 0.27.1 atau yang lebih baru, Anda dapat menerbitkan modul dengan kode sumber Bicep selain templat JSON yang dikompilasi. Jika modul diterbitkan dengan kode sumber Bicep ke registri, Anda dapat menekan F12
(Buka Definisi) dari Visual Studio Code untuk melihat Kode Bicep. Ekstensi Bicep versi 0.27 atau yang baru diperlukan untuk melihat file Bicep.
Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html -WithSource
Dengan sakelar sumber, Anda akan melihat lapisan lain dalam manifes:
Jika modul Bicep mereferensikan modul di Registri Privat, titik akhir ACR akan terlihat. Untuk menyembunyikan titik akhir penuh, Anda dapat mengonfigurasi alias untuk registri privat.
Menampilkan file dalam registri
Untuk melihat modul yang diterbitkan di portal:
Masuk ke portal Azure.
Cari registri kontainer.
Pilih registri Anda.
Pilih Layanan ->Repositori dari menu sebelah kiri.
Pilih jalur modul (repositori). Pada contoh sebelumnya, nama jalur modul adalah bicep/modules/storage.
Pilih tag. Pada contoh sebelumnya, tag berupa v1.
Referensi Artefak cocok dengan referensi yang Anda gunakan dalam file Bicep.
Anda sekarang siap untuk mereferensikan file di registri dari file Bicep. Untuk contoh sintaks yang digunakan untuk referensi modul eksternal, lihat modul Bisep.
Bekerja dengan file registri Bicep
Saat menggunakan file bicep yang dihosting di registri jarak jauh, penting untuk memahami bagaimana komputer lokal Anda berinteraksi dengan registri. Saat pertama kali mendeklarasikan referensi ke registri, editor lokal Anda mencoba berkomunikasi dengan Azure Container Registry dan mengunduh salinan registri ke cache lokal Anda.
Cache lokal ditemukan dalam:
Di Windows
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
Di Linux
/home/<username>/.bicep
Di Mac
~/.bicep
Komputer lokal Anda dapat mengenali perubahan apa pun yang dilakukan pada registri jarak jauh hingga Anda menjalankan restore
dengan file yang ditentukan yang menyertakan referensi registri.
az bicep restore --file <bicep-file> [--force]
Untuk informasi selengkapnya, lihat restore
perintah .
Langkah berikutnya
- Untuk mempelajari modul, lihat modul Bisep.
- Untuk mengonfigurasi alias untuk registri modul, lihat Menambahkan pengaturan modul di file konfigurasi Bicep.
- Untuk informasi lebih lanjut tentang penerbitan dan pemulihan modul, lihat perintah CLI Bicep CLI.