يمكنك أتمتة اختبار تحميل في Azure Load Testing عن طريق إنشاء مسار CI/CD. في هذه المقالة، ستتعلم كيفية تكوين إجراءات GitHub أو Azure Pipelines أو أدوات CI الأخرى يدويا لاستدعاء اختبار موجود في اختبار تحميل Azure. أتمتة اختبار التحميل للتحقق باستمرار من أداء التطبيق الخاص بك واستقراره تحت الحمل.
لإضافة اختبار تحميل موجود إلى مسار CI/CD:
تكوين مصادقة الخدمة للسماح لأداة CI بالاتصال بمورد اختبار تحميل Azure.
أضف ملفات إدخال اختبار التحميل إلى المستودع الخاص بك، مثل البرنامج النصي لاختبار JMeter وتكوين YAML لاختبار التحميل.
تحديث تعريف البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD لاستدعاء اختبار تحميل Azure.
حساب GitHub. إذا لم يكن لديك حساب GitHub، يمكنك إنشاء حساب مجانا.
مستودع GitHub لتخزين ملفات إدخال اختبار التحميل وإنشاء سير عمل GitHub Actions. لإنشاء مستودع، راجع إنشاء مستودع جديد.
إذن لإنشاء مسار CI أو تعديله.
مستودع التعليمات البرمجية المصدر لتخزين ملفات إدخال اختبار التحميل.
تكوين مصادقة الخدمة
لتشغيل اختبار تحميل في سير عمل CI/CD، تحتاج إلى منح إذن لسير عمل CI/CD للوصول إلى مورد اختبار التحميل. إنشاء كيان خدمة لسير عمل CI/CD وتعيين دور Load Test Contributor Azure RBAC.
في Azure Pipelines، يمكنك إنشاء اتصال خدمة في مشروع Azure DevOps للوصول إلى الموارد في اشتراك Azure الخاص بك. عند إنشاء اتصال الخدمة، يقوم Azure DevOps بإنشاء كائن أساسي لخدمة Microsoft Entra.
سجل الدخول إلى مؤسسة Azure DevOps (https://dev.azure.com/<your-organization>)، وحدد مشروعك.
حدد Project settings>Service connections>+ New service connection.
في جزء New service connection ، حدد Azure Resource Manager، ثم حدد Next.
حدد طريقة مصادقة كيان الخدمة (التلقائي)، ثم حدد التالي.
أدخل تفاصيل اتصال الخدمة، ثم حدد حفظ لإنشاء اتصال الخدمة.
الحقل
القيمة
مستوى النطاق
«Subscription» (الاشتراك)
الاشتراك
حدد اشتراك Azure الذي يستضيف مورد اختبار التحميل الخاص بك.
مجموعة الموارد
حدد مجموعة الموارد التي تحتوي على مورد اختبار التحميل.
اسم اتصال الخدمة
أدخل اسما فريدا لاتصال الخدمة.
منح إذن الوصول إلى جميع المسارات
تمَّ التحديد.
من قائمة اتصالات الخدمة، حدد الاتصال الذي أنشأته سابقا، ثم حدد إدارة كيان الخدمة.
يفتح مدخل Azure في علامة تبويب مستعرض منفصلة ويعرض تفاصيل كيان الخدمة.
في مدخل Microsoft Azure، انسخ قيمة اسم العرض.
يمكنك استخدام هذه القيمة في الخطوة التالية لمنح أذونات لتشغيل اختبارات التحميل إلى كيان الخدمة.
منح حق الوصول إلى اختبار تحميل Azure
يستخدم Azure Load Testing Azure RBAC لمنح أذونات لتنفيذ أنشطة معينة على مورد اختبار التحميل. لتشغيل اختبار تحميل من البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD، يمكنك منح دور Load Test Contributor إلى كيان الخدمة.
في مدخل Microsoft Azure، انتقل إلى مورد اختبار تحميل Azure.
حدد Access control (IAM)>Add>Add role assignment.
في علامة التبويب Role ، حدد Load Test Contributor في قائمة أدوار وظيفة الوظيفة.
في علامة التبويب الأعضاء ، حدد Select members، ثم استخدم اسم العرض الذي نسخته سابقا للبحث في كيان الخدمة.
حدد كيان الخدمة، ثم حدد تحديد.
في علامة التبويب Review + assign، حدد Review + assign لإضافة تعيين الدور.
يمكنك الآن استخدام اتصال الخدمة في تعريف سير عمل Azure Pipelines للوصول إلى مورد اختبار تحميل Azure.
للوصول إلى مورد Azure Load Testing من سير عمل GitHub Actions، يمكنك أولا إنشاء كيان خدمة Microsoft Entra. يمثل كيان الخدمة هذا سير عمل إجراءات GitHub في معرف Microsoft Entra.
بعد ذلك، يمكنك منح أذونات إلى كيان الخدمة لإنشاء اختبار تحميل وتشغيله باستخدام مورد اختبار تحميل Azure.
إنشاء كيان خدمة
إنشاء كيان خدمة في اشتراك Azure وتعيين دور Load Test Contributor بحيث يمكن لسير عمل GitHub Actions الوصول إلى مورد اختبار تحميل Azure الخاص بك لتشغيل اختبارات التحميل.
إنشاء كيان خدمة وتعيين Load Test Contributor الدور:
# Get the resource ID for the load testing resource - replace the text place holders.
loadtest=$(az resource show -g <resource-group-name> -n <load-testing-resource-name> --resource-type "Microsoft.LoadTestService/loadtests" --query "id" -o tsv)
echo $loadtest
# Create a service principal and assign the Load Test Contributor role - the scope is limited to the load testing resource.
az ad sp create-for-rbac --name "my-load-test-cicd" --role "Load Test Contributor" \
--scopes $loadtest \
--json-auth
الإخراج هو كائن JSON يمثل كيان الخدمة. يمكنك استخدام هذه المعلومات للمصادقة مع Azure في سير عمل إجراءات GitHub.
Creating 'Load Test Contributor' role assignment under scope
{
"clientId": "00000000-0000-0000-0000-000000000000",
"clientSecret": "00000000-0000-0000-0000-000000000000",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
"resourceManagerEndpointUrl": "https://management.azure.com/",
"activeDirectoryGraphResourceId": "https://graph.windows.net/",
"sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
"galleryEndpointUrl": "https://gallery.azure.com/",
"managementEndpointUrl": "https://management.core.windows.net/"
}
إشعار
قد تحصل على --sdk-auth تحذير إيقاف عند تشغيل هذا الأمر. بدلا من ذلك، يمكنك استخدام المصادقة المستندة إلى OpenID الاتصال (OIDC) لمصادقة GitHub مع Azure. تعرف على كيفية استخدام إجراء تسجيل الدخول إلى Azure مع OpenID الاتصال.
انسخ كائن JSON الإخراج إلى الحافظة.
في الخطوة التالية، يمكنك تخزين المعلومات الأساسية للخدمة كبيانات سرية ل GitHub Actions.
تخزين بيانات اعتماد Azure في بيانات GitHub Actions السرية
إنشاء سر GitHub Actions لتخزين المعلومات الأساسية للخدمة بشكل آمن. يمكنك استخدام هذا السر في تعريف سير العمل للاتصال بالمصادقة مع Azure والوصول إلى مورد اختبار تحميل Azure.
حدد New repository secret، وأدخل المعلومات السرية، ثم حدد Add secret لإنشاء سر جديد.
الحقل
القيمة
الاسم
AZURE_CREDENTIALS
سري
الصق إخراج JSON من أمر إنشاء كيان الخدمة الذي نسخته سابقا.
يمكنك الآن الوصول إلى اشتراك Azure ومورد اختبار التحميل من سير عمل إجراءات GitHub باستخدام بيانات الاعتماد المخزنة.
إذا كنت تستخدم أداة CI/CD أخرى، يمكنك استخدام Azure CLI للتفاعل مع موارد Azure. قم بتنفيذ الخطوات التالية لتخويل وصول أداة CI إلى مورد اختبار التحميل الخاص بك:
إنشاء كيان خدمة Microsoft Entra للاتصال باشتراك Azure والوصول إلى مورد اختبار تحميل Azure.
امنح أذونات كيان الخدمة لإنشاء اختبار تحميل وتشغيله عن طريق تعيين دور Load Test Contributor.
تخزين بيانات اعتماد Azure بأمان في أداة CI.
نفذ الخطوات التالية لتكوين تخويل الخدمة لأداة CI الخاصة بك:
إنشاء كيان خدمة وتعيين دور Load Test Contributor:
استبدل العناصر النائبة <resource-group-name> للنص و <load-testing-resource-name> .
# Get the resource ID for the load testing resource - replace the text place holders.
loadtest=$(az resource show -g <resource-group-name> -n <load-testing-resource-name> --resource-type "Microsoft.LoadTestService/loadtests" --query "id" -o tsv)
echo $loadtest
# Create a service principal and assign the Load Test Contributor role - the scope is limited to the load testing resource.
az ad sp create-for-rbac --name "my-load-test-cicd" --role "Load Test Contributor" \
--scopes $loadtest \
--json-auth
الإخراج هو كائن JSON يمثل كيان الخدمة.
Creating 'Load Test Contributor' role assignment under scope
{
"clientId": "00000000-0000-0000-0000-000000000000",
"clientSecret": "00000000-0000-0000-0000-000000000000",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
"resourceManagerEndpointUrl": "https://management.azure.com/",
"activeDirectoryGraphResourceId": "https://graph.windows.net/",
"sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
"galleryEndpointUrl": "https://gallery.azure.com/",
"managementEndpointUrl": "https://management.core.windows.net/"
}
انسخ clientIdclientSecretالقيم و و tenantId وقم بتخزينها بشكل آمن كبيانات سرية في أداة CI الخاصة بك.
يمكنك استخدام هذه القيم لتسجيل الدخول إلى اشتراك Azure الخاص بك باستخدام الأمر Azure CLI az login .
إضافة ملفات اختبار التحميل في المستودع الخاص بك
لتشغيل اختبار تحميل باستخدام Azure Load Testing في سير عمل CI/CD، تحتاج إلى إضافة جميع ملفات إدخال اختبار التحميل في مستودع التحكم بالمصادر.
إذا لم يكن لديك اختبار تحميل موجود، أضف الملفات التالية إلى مستودع التعليمات البرمجية المصدر:
تحميل ملف تكوين اختبار YAML. تعرف على كيفية إنشاء ملف YAML لتكوين اختبار التحميل.
اختبار ملف الخطة. بالنسبة للاختبارات المستندة إلى JMeter، أضف برنامج نصي لاختبار JMeter (JMX ملف). بالنسبة للاختبارات المستندة إلى عنوان URL، أضف ملف JSON للطلبات.
أي ملفات بيانات إدخال تستخدمها خطة الاختبار الخاصة بك. على سبيل المثال، ملفات بيانات CSV.
إذا كان لديك اختبار تحميل موجود، يمكنك تنزيل إعدادات التكوين وجميع ملفات الإدخال مباشرة من مدخل Microsoft Azure. نفذ الخطوات التالية لتنزيل ملفات الإدخال لاختبار تحميل موجود في مدخل Microsoft Azure:
في مدخل Microsoft Azure، انتقل إلى مورد اختبار تحميل Azure.
في الجزء الأيمن، حدد Tests لعرض قائمة اختبارات التحميل، ثم حدد اختبارك.
تحديد علامة الحذف (...) بجوار تشغيل الاختبار الذي تعمل عليه، ثم حدد تنزيل ملف الإدخال.
يقوم المستعرض بتنزيل مجلد مضغوط يحتوي على ملفات إدخال اختبار التحميل.
استخدم أي أداة مضغوطة لاستخراج ملفات الإدخال.
يحتوي المجلد على الملفات التالية:
config.yaml: ملف تكوين YAML لاختبار التحميل. يمكنك الرجوع إلى هذا الملف في تعريف سير عمل CI/CD.
.jmx: البرنامج النصي لاختبار JMeter
أي ملفات إدخال إضافية، مثل ملفات CSV أو ملفات خصائص المستخدم المطلوبة لتشغيل اختبار التحميل.
تثبيت جميع ملفات الإدخال المستخرجة في مستودع التحكم بالمصادر.
استخدم مستودع التعليمات البرمجية المصدر الذي تقوم فيه بتكوين البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD.
تحديث تعريف سير عمل CI/CD
يدعم Azure Load Testing كلا من GitHub Actions وAzure Pipelines لتشغيل اختبارات التحميل.
قم بتحديث سير عمل CI الخاص بك لتشغيل اختبار تحميل لمورد اختبار تحميل Azure باستخدام Azure CLI. استخدم تفاصيل أداة CI لإضافة الأوامر التالية إلى سير عمل CI الخاص بك:
سجل الدخول إلى اشتراك Azure باستخدام كيان الخدمة.
clientIdاستخدم القيم و clientSecretو التي tenandId قمت بتخزينها مسبقا.
az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET -t $AZURE_TENANT_ID
az account set -s $AZURE_SUBSCRIPTION_ID
إنشاء اختبار تحميل باستخدام ملف YAML لتكوين اختبار التحميل.
<load-testing-resource><load-testing-resource-group>استبدل العناصر النائبة للنص و باسم <load-test-config-yaml> مورد اختبار التحميل واسم مجموعة الموارد واسم ملف YAML لتكوين اختبار التحميل الذي أضفته إلى المستودع مسبقا.
az load test create --load-test-resource <load-testing-resource> --resource-group <load-testing-resource-group> --test-id sample-test-id --load-test-config-file <load-test-config-yaml>
قم بتشغيل اختبار التحميل.
testRunId="run_"`date +"%Y%m%d%_H%M%S"`
displayName="Run"`date +"%Y/%m/%d_%H:%M:%S"`
az load test-run create --load-test-resource <load-testing-resource> --test-id sample-test-id --test-run-id $testRunId --display-name $displayName --description "Test run from CLI"
استرداد وعرض المقاييس من جانب العميل لتشغيل اختبار التحميل.
az load test-run metrics list --load-test-resource <load-testing-resource> --test-run-id $testRunId --metric-namespace LoadTestRunMetrics
عرض نتائج اختبار التحميل
عند تشغيل اختبار تحميل من البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD، يمكنك عرض نتائج الملخص مباشرة في سجل إخراج CI/CD. إذا قمت بنشر نتائج الاختبار كأداة مسار، يمكنك أيضا تنزيل ملف CSV لمزيد من التقارير.
تنظيف الموارد
إذا كنت لا تخطط لاستخدام أي من الموارد التي قمت بإنشائها، فاحذفها حتى لا تتحمل أي رسوم إضافية.