Mengonfigurasi lingkungan Bicep Anda
Bicep mendukung file konfigurasi opsional bernama bicepconfig.json. Dalam file ini, Anda dapat menambahkan nilai yang menyesuaikan pengalaman pengembangan Bicep Anda. File ini digabungkan dengan file konfigurasi default. Untuk informasi selengkapnya, lihat Memahami proses penggabungan. Untuk menyesuaikan konfigurasi, buat file konfigurasi di direktori yang sama atau direktori induk file Bicep Anda. Jika ada beberapa direktori induk yang berisi file bicepconfig.json , Bicep menggunakan konfigurasi dari yang terdekat. Untuk informasi selengkapnya, lihat Memahami proses resolusi file.
Untuk mengonfigurasi pengaturan ekstensi Bicep, lihat Visual Studio Code dan ekstensi Bicep.
Membuat file konfigurasi di Visual Studio Code
Anda dapat menggunakan editor teks apa pun untuk membuat file konfigurasi.
Untuk membuat file bicepconfig.json di Visual Studio Code, buka Palet Perintah ([CTRL/CMD]+[SHIFT]+P), lalu pilih Bicep: Buat File Konfigurasi Bicep. Untuk informasi selengkapnya, lihat Membuat file konfigurasi Bicep.
Ekstensi Bicep untuk Visual Studio Code mendukung IntelliSense untuk file bicepconfig.json . Gunakan IntelliSense untuk menemukan properti dan nilai yang tersedia.
Memahami proses penggabungan
File bicepconfig.json mengalami proses penggabungan bottom-up rekursif dengan file konfigurasi default. Selama proses penggabungan, Bicep memeriksa setiap jalur di kedua konfigurasi. Jika jalur tidak ada dalam konfigurasi default, jalur dan nilai terkait ditambahkan dalam hasil akhir. Sebaliknya, jika jalur ada dalam konfigurasi default dengan nilai yang berbeda, nilai dari bicepconfig.json lebih diutamakan dalam hasil gabungan.
Pertimbangkan skenario di mana konfigurasi default didefinisikan sebagai berikut:
{
"cloud": {
...
"credentialPrecedence": [
"AzureCLI",
"AzurePowerShell"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
}
}
},
...
}
Dan bicepconfig.json didefinisikan sebagai berikut:
{
"cloud": {
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"br": {
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
}
}
Konfigurasi gabungan yang dihasilkan adalah:
{
"cloud": {
...
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
},
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
},
...
}
Dalam contoh sebelumnya, nilai cloud.credentialPrecedence
diganti, sementara nilai cloud.moduleAliases.ContosoRegistry
dan cloud.moduleAliases.CoreModules
ditambahkan dalam konfigurasi gabungan.
Memahami proses resolusi file
File bicepconfig.json dapat ditempatkan di direktori yang sama atau direktori induk file Bicep Anda. Jika ada beberapa direktori induk yang berisi file bicepconfig.json , Bicep menggunakan file konfigurasi dari yang terdekat. Misalnya, dalam struktur folder yang diberikan di mana setiap folder memiliki file bicepconfig.json :
Jika Anda mengkompilasi main.bicep di child
folder, file bicepconfig.json dalam child
folder digunakan. File konfigurasi dalam parent
folder dan root
folder diabaikan.
child
Jika folder tidak berisi file konfigurasi, Bicep mencari konfigurasi di parent
folder lalu root
folder . Jika file konfigurasi tidak ditemukan di salah satu folder, Bicep default menggunakan nilai default.
Dalam konteks file Bicep yang memanggil beberapa modul, setiap modul mengalami kompilasi menggunakan bicepconfig.json terdekat. Kemudian, file Bicep utama dikompilasi dengan bicepconfig.json yang sesuai. Dalam skenario berikut, modA.bicep
dikompilasi menggunakan bicepconfig.json yang terletak di folder, modB.bicep
dikompilasi A
dengan bicepconfig.json di B
folder, dan akhirnya, main.bicep dikompilasi menggunakan bicepconfig.json di root
folder.
Dengan tidak adanya file bicepconfig.json di A
folder dan B
, ketiga file Bicep dikompilasi menggunakan bicepconfig.json yang ditemukan di root
folder . Jika bicepconfig.json tidak ada di salah satu folder, kompilasi default menggunakan nilai default.
Mengonfigurasi modul Bicep
Saat bekerja dengan modul, Anda dapat menambahkan alias untuk jalur modul. Alias ini dapat menyederhanakan file Bicep Anda karena Anda tidak perlu mengulangi jalur yang rumit. Anda juga dapat mengonfigurasi profil cloud dan prioritas kredensial untuk mengautentikasi ke Azure dari Bicep CLI dan Visual Studio Code. Info masuk digunakan untuk mempublikasikan modul ke registri dan untuk memulihkan modul eksternal ke cache lokal saat menggunakan fungsi sisipkan sumber daya. Untuk informasi selengkapnya, lihat Menambahkan pengaturan modul ke konfigurasi Bicep.
Mengonfigurasi aturan Linter
Linter Bicep memeriksa file Bicep untuk kesalahan sintaksis dan pelanggaran praktik terbaik. Anda dapat mengubah file bicepconfig.json untuk mengambil alih pengaturan default tentang bagaimana file Bicep divalidasi. Untuk informasi selengkapnya, lihat Menambahkan pengaturan linter ke konfigurasi Bicep.
Mengaktifkan fitur eksperimental
Anda dapat mengaktifkan fitur eksperimental dengan menambahkan bagian berikut ke file bicepconfig.json Anda. Menggunakan fitur eksperimental secara otomatis memungkinkan pembuatan kode versi bahasa 2.0 .
Berikut adalah contoh mengaktifkan fitur 'pernyataan' dan 'testFramework'.
{
"experimentalFeaturesEnabled": {
"assertions": true,
"testFramework": true
}
}
Lihat Fitur Eksperimental untuk informasi selengkapnya tentang fitur eksperimental Bicep.
Langkah berikutnya
- Pelajari cara menambahkan pengaturan modul dan pengaturan linter dalam file konfigurasi Bicep.
- Pelajari tentang linter Bicep.