Menggunakan modul dari registri privat

Selesai

Anda telah mempelajari cara menerbitkan modul ke dalam registri privat. Di unit ini, Anda akan mempelajari cara menggunakan modul yang sudah ada di registri sebagai bagian dari template Bicep.

Menggunakan modul Bicep

Bila Anda telah menemukan modul yang ingin Anda gunakan, buat definisi modul di templat Bicep Anda. Berikut contohnya:

module myModule 'br:myregistry.azurecr.io/modulepath/modulename:moduleversion' = {
  name: 'my-module'
  params: {
    moduleParameter1: 'value'
  }
}

Perhatikan bahwa definisi modul mirip dengan modul lokal, tetapi dengan satu perbedaan penting. Alih-alih menentukan jalur ke file Bicep di sistem file Anda, sertakan jalur ke modul di registri Anda.

Setelah Anda menambahkan referensi ke modul, Visual Studio Code mencoba mengunduh modul secara otomatis dari registri. Saat modul diunduh, ekstensi Bicep untuk Visual Studio Code memberi Anda IntelliSense dan bantuan pembuatan kode lainnya sambil Anda bekerja.

Alias

Anda dapat menggunakan alias registri untuk menyederhanakan definisi modul Anda. Sebagai alternatif menentukan nama registri setiap kali Anda menentukan modul, Anda menggunakan aliasnya. Alias membantu Anda dalam beberapa cara:

  • Ekstensi tersebut dapat menjaga file Bicep Anda lebih rapi dan membantu Anda menghindari mengetik nama lengkap registri berulang kali.
  • Jika Anda mengubah ke registri baru di masa mendatang, Anda dapat memperbarui alias dan tidak perlu memperbarui setiap referensi ke sana.
  • Beberapa organisasi perlu menggunakan registri yang berbeda untuk situasi yang berbeda, seperti untuk lingkungan pengembangan dan produksi. Anda dapat mengganti registri yang dirujuk oleh alias dengan memodifikasi file konfigurasi. Perubahan kemudian berlaku untuk semua file Bicep di folder.

Untuk menentukan alias, Anda perlu membuat file bicepconfig.json dalam folder yang sama dengan file Bicep Anda. Dalam file bicepconfig.json, Anda mendefinisikan alias seperti dalam contoh ini:

{
  "moduleAliases": {
    "br": {
      "MyRegistry": {
        "registry": "myregistry.azurecr.io"
      }
    }
  }
}

Saat Anda mendefinisikan modul dalam file Bicep, Anda menggunakan jenis jalur modul yang sedikit berbeda, yang menyertakan alias:

module myModule 'br/MyRegistry:bicep/my-module:v1' = {
  // ...
}

Tip

Perhatikan bahwa awal jalur adalah br/ saat Anda menggunakan alias dan menjadi br: saat tidak menggunakan alias.

Alias juga dapat menyertakan jalur ke modul Anda dalam registri, yang berguna jika Anda menggunakan awalan umum untuk modul Anda:

{
  "moduleAliases": {
    "br": {
      "MyRegistryWithPath": {
        "registry": "myregistry.azurecr.io",
        "modulePath": "bicep"
      }
    }
  }
}

Kemudian, Anda dapat menghilangkan jalur saat Anda mendefinisikan modul di file Bicep Anda:

module myModule 'br/MyRegistryWithPath:my-module:v1' = {
  // ...
}

Membuat file Bicep Anda

Ketika Anda siap untuk menyebarkan file Bicep, Anda menyebarkannya seperti yang biasa Anda lakukan. Bicep mengunduh modul dari registri secara otomatis sebagai bagian dari proses penyebaran. Bicep menyematkan semua modul yang Anda rujuk ke dalam templat ARM yang di-transpilasikan yang merupakan file JSON.

Anda juga dapat memisahkan proses pengunduhan modul dari build dengan menggunakan perintah bicep restore. Anda kemudian dapat menggunakan perintah bicep build dengan sakelar baris perintah --no-restore untuk menghentikan proses build dari upaya mengunduh modul. Namun, umumnya, Anda tidak perlu memisahkan modul dan membiarkan Bicep mengunduh modul secara otomatis.