تكوين بيئة Bicep الخاصة بك
يدعم Bicep ملف تكوين اختياري يسمى bicepconfig.json
. ضمن هذا الملف، يمكنك إضافة القيم التي تخصص تجربة تطوير Bicep الخاص بك. يتم دمج هذا الملف مع ملف التكوين الافتراضي. لمزيد من المعلومات، راجع فهم عملية الدمج. لتخصيص التكوين، قم بإنشاء ملف تكوين في نفس الدليل أو دليل أصل لملفات Bicep. إذا كان هناك عدة أدلة أصل تحتوي على bicepconfig.json
ملفات، يستخدم Bicep التكوين من أقرب واحد. لمزيد من المعلومات، راجع فهم عملية تحليل الملف.
لتكوين إعدادات ملحق Bicep، راجع VS Code وملحق Bicep.
إنشاء ملف التكوين في Visual Studio Code
يمكنك استخدام أي محرر نص لإنشاء ملف التكوين.
لإنشاء bicepconfig.json
ملف في Visual Studio Code، افتح لوحة الأوامر ([CTRL/CMD]+[SHIFT]+P)، ثم حدد Bicep: Create Bicep Configuration File. لمزيد من المعلومات، راجع إنشاء ملف تكوين Bicep.
يدعم ملحق Bicep ل Visual Studio Code التحسس الذكي لملفك bicepconfig.json
. استخدم ميزة intellisense لاكتشاف الخصائص والقيم المتوفرة.
فهم عملية الدمج
bicepconfig.json
يخضع الملف لعملية دمج متكررة من أسفل لأعلى مع ملف التكوين الافتراضي. أثناء عملية الدمج، يفحص Bicep كل مسار في كلا التكوينين. إذا لم يكن المسار موجودا في التكوين الافتراضي، تتم إضافة المسار والقيمة المقترنة به في النتيجة النهائية. وعلى العكس من ذلك، إذا كان هناك مسار موجود في التكوين الافتراضي بقيمة مختلفة، فإن القيمة من bicepconfig.json
لها الأسبقية في النتيجة المدمجة.
ضع في اعتبارك سيناريو يتم فيه تعريف التكوين الافتراضي كما يلي:
{
"cloud": {
...
"credentialPrecedence": [
"AzureCLI",
"AzurePowerShell"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
}
}
},
...
}
bicepconfig.json
ويتم تعريف على النحو التالي:
{
"cloud": {
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"br": {
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
}
}
سيكون التكوين المدمج الناتج:
{
"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"
}
}
},
...
}
في المثال السابق، يتم استبدال قيمة cloud.credentialPrecedence
، بينما يتم إلحاق قيمة cloud.moduleAliases.ContosoRegistry
و cloud.moduleAliases.CoreModules
في التكوين المدمج.
فهم عملية تحليل الملف
bicepconfig.json
يمكن وضع الملف في نفس الدليل أو دليل أصل لملفات Bicep. إذا كان هناك العديد من الدلائل الأصلية التي bicepconfig.json
تحتوي على ملفات، يستخدم Bicep ملف التكوين من أقرب واحد. على سبيل المثال، في بنية المجلد المحدد حيث يحتوي كل مجلد على bicepconfig.json
ملف:
إذا قمت بالتحويل main.bicep
البرمجي في child
المجلد، bicepconfig.json
يتم استخدام الملف في child
المجلد. يتم تجاهل ملفات التكوين في parent
المجلد والمجلد root
. child
إذا لم يحتوي المجلد على ملف تكوين، يبحث Bicep عن تكوين في parent
المجلد ثم المجلدroot
. إذا لم يتم العثور على ملف تكوين في أي من المجلدات، تعيين Bicep افتراضيا على استخدام القيم الافتراضية.
في سياق ملف Bicep الذي يستدعي وحدات نمطية متعددة، تخضع كل وحدة برمجية باستخدام أقرب bicepconfig.json
. ثم، يتم تحويل ملف Bicep الرئيسي برمجيا مع المطابق له bicepconfig.json
. في السيناريو التالي، modA.bicep
يتم تحويلها برمجيا باستخدام bicepconfig.json
الموجود في A
المجلد، modB.bicep
ويتم تحويلها برمجيا مع bicepconfig.json
في B
المجلد، وأخيرا، main.bicep
يتم تحويلها برمجيا باستخدام bicepconfig.json
في root
المجلد .
في حالة عدم وجود bicepconfig.json
ملف في A
المجلدين و B
، يتم تجميع جميع ملفات Bicep الثلاثة باستخدام الموجودة bicepconfig.json
في root
المجلد . إذا bicepconfig.json
لم يكن موجودا في أي من المجلدات، فإن عملية التحويل البرمجي افتراضيا لاستخدام القيم الافتراضية.
تكوين وحدات Bicep النمطية
عند العمل مع الوحدات، يمكنك إضافة أسماء مستعارة لمسارات الوحدة. تعمل هذه الأسماء المستعارة على تبسيط ملف Bicep لأنه لا يتعين عليك تكرار المسارات المعقدة. يمكنك أيضا تكوين ملف تعريف السحابة وأسبقية بيانات الاعتماد للمصادقة على Azure من Bicep CLI وVisual Studio Code. يتم استخدام بيانات الاعتماد لنشر الوحدات النمطية إلى السجلات واستعادة الوحدات النمطية الخارجية إلى ذاكرة التخزين المؤقت المحلية عند استخدام دالة إدراج المورد. لمزيد من المعلومات، راجع إضافة إعدادات الوحدة النمطية إلى تكوين Bicep.
تكوين قواعد Linter
تتحقق أداة تحليل Bicep من ملفات Bicep من أخطاء بناء الجملة وانتهاكات أفضل الممارسات. يمكنك تجاوز الإعدادات الافتراضية للتحقق من صحة ملف Bicep عن طريق تعديل bicepconfig.json
. لمزيد من المعلومات، راجع إضافة إعدادات linter إلى تكوين Bicep.
تمكين الميزات التجريبية
يمكنك تمكين الميزات التجريبية عن طريق إضافة القسم التالي إلى ملفك bicepconfig.json
. يتيح استخدام الميزات التجريبية تلقائيا إنشاء التعليمات البرمجية لإصدار اللغة 2.0 .
فيما يلي مثال على تمكين الميزات "التأكيدات" و"testFramework".
{
"experimentalFeaturesEnabled": {
"assertions": true,
"testFramework": true
}
}
للحصول على معلومات حول المجموعة الحالية من الميزات التجريبية، راجع الميزات التجريبية.