التدريب
تكوين بيئة Bicep الخاصة بك
يدعم Bicep ملف تكوين اختياري يسمى bicepconfig.json. ضمن هذا الملف، يمكنك إضافة القيم التي تخصص تجربة تطوير Bicep الخاص بك. يتم دمج هذا الملف مع ملف التكوين الافتراضي. لمزيد من المعلومات، راجع فهم عملية الدمج. لتخصيص تكوين، قم بإنشاء ملف تكوين في نفس الدليل أو دليل أصل لملفات Bicep. إذا كان هناك العديد من الدلائل الأصلية التي تحتوي على ملفات bicepconfig.json ، يستخدم Bicep التكوين من أقرب واحد. لمزيد من المعلومات، راجع فهم عملية تحليل الملف.
لتكوين إعدادات ملحق Bicep، راجع Visual Studio Code وملحق Bicep.
يمكنك استخدام أي محرر نص لإنشاء ملف التكوين.
لإنشاء ملف bicepconfig.json في Visual Studio Code، افتح لوحة الأوامر ([CTRL/CMD]+[SHIFT]+P)، ثم حدد Bicep: إنشاء ملف تكوين Bicep. لمزيد من المعلومات، راجع إنشاء ملف تكوين Bicep.
يدعم ملحق Bicep ل Visual Studio Code IntelliSense لملفات 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 لأنه لا يتعين عليك تكرار المسارات المعقدة. يمكنك أيضا تكوين ملف تعريف السحابة وأسبقية بيانات الاعتماد للمصادقة على Azure من Bicep CLI وVisual Studio Code. يتم استخدام بيانات الاعتماد لنشر الوحدات النمطية إلى السجلات واستعادة الوحدات النمطية الخارجية إلى ذاكرة التخزين المؤقت المحلية عند استخدام دالة إدراج المورد. لمزيد من المعلومات، راجع إضافة إعدادات الوحدة النمطية إلى تكوين Bicep.
تتحقق أداة تحليل Bicep من ملفات Bicep من أخطاء بناء الجملة وانتهاكات أفضل الممارسات. يمكنك تعديل ملف bicepconfig.json لتجاوز الإعدادات الافتراضية لكيفية التحقق من صحة ملف Bicep. لمزيد من المعلومات، راجع إضافة إعدادات linter إلى تكوين Bicep.
يمكنك تمكين الميزات التجريبية عن طريق إضافة القسم التالي إلى ملف bicepconfig.json. يتيح استخدام الميزات التجريبية تلقائيا إنشاء التعليمات البرمجية لإصدار اللغة 2.0 .
فيما يلي مثال على تمكين الميزات "التأكيدات" و"testFramework".
{
"experimentalFeaturesEnabled": {
"assertions": true,
"testFramework": true
}
}
راجع الميزات التجريبية لمزيد من المعلومات حول ميزات Bicep التجريبية.
- تعرف على كيفية إضافة إعدادات الوحدة النمطية وإعدادات linter في ملف تكوين Bicep.
- تعرف على أداة تحليل Bicep.