PublishSymbols@2 - فهرسة مصادر ونشر رموز المهمة v2

استخدم هذه المهمة لفهرسة التعليمات البرمجية المصدر ونشر رموزك إلى مشاركة ملف أو خادم رمز Azure Artifacts.

تسمح لك فهرسة التعليمات البرمجية المصدر باستخدام ملفات الرموز لتصحيح أخطاء التطبيق الخاص بك على جهاز آخر غير الجهاز الذي استخدمته لإنشاء التطبيق الخاص بك. على سبيل المثال، يمكنك تصحيح أخطاء تطبيق تم إنشاؤه بواسطة عامل بناء من جهاز تطوير لا يحتوي على التعليمات البرمجية المصدر.

تمكن خوادم الرموز مصحح الأخطاء من استرداد ملفات الرموز الصحيحة تلقائيا دون معرفة أسماء المنتجات أو أرقام الإنشاء أو أسماء الحزم.

بناء الجملة

# Index sources and publish symbols v2
# Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
- task: PublishSymbols@2
  inputs:
    #SymbolsFolder: '$(Build.SourcesDirectory)' # string. Path to symbols folder. Default: $(Build.SourcesDirectory).
    SearchPattern: '**/bin/**/*.pdb' # string. Required. Search pattern. Default: **/bin/**/*.pdb.
    #IndexSources: true # boolean. Index sources. Default: true.
    #PublishSymbols: true # boolean. Publish symbols. Default: true.
    SymbolServerType: # 'TeamServices' | 'FileShare'. Required when PublishSymbols = true. Symbol server type. 
    #SymbolsPath: # string. Optional. Use when PublishSymbols = true && SymbolServerType = FileShare. Path to publish symbols. 
    #CompressSymbols: false # boolean. Optional. Use when SymbolServerType = FileShare. Compress symbols. Default: false.
    #SymbolExpirationInDays: '36530' # string. Optional. Use when PublishSymbols = true && SymbolServerType = TeamServices. Symbol Expiration (in days). Default: 36530.
  # Advanced
    #IndexableFileFormats: 'Default' # 'Default' | 'Pdb' | 'SourceMap' | 'All'. Optional. Use when PublishSymbols = true && SymbolServerType = TeamServices. Symbol file formats to publish. Default: Default.
    #DetailedLog: true # boolean. Verbose logging. Default: true.
    #TreatNotIndexedAsWarning: false # boolean. Warn if not indexed. Default: false.
    #UseNetCoreClientTool: false # boolean. Use NetCore client tool. Default: false.
    #SymbolsMaximumWaitTime: # string. Max wait time (min). 
    #SymbolsProduct: # string. Product. 
    #SymbolsVersion: # string. Version. 
    #SymbolsArtifactName: 'Symbols_$(BuildConfiguration)' # string. Artifact name. Default: Symbols_$(BuildConfiguration).
# Index sources and publish symbols v2
# Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
- task: PublishSymbols@2
  inputs:
    #SymbolsFolder: '$(Build.SourcesDirectory)' # string. Path to symbols folder. Default: $(Build.SourcesDirectory).
    SearchPattern: '**/bin/**/*.pdb' # string. Required. Search pattern. Default: **/bin/**/*.pdb.
    #IndexSources: true # boolean. Index sources. Default: true.
    #PublishSymbols: true # boolean. Publish symbols. Default: true.
    SymbolServerType: # 'TeamServices' | 'FileShare'. Required when PublishSymbols = true. Symbol server type. 
    #SymbolsPath: # string. Optional. Use when PublishSymbols = true && SymbolServerType = FileShare. Path to publish symbols. 
    #CompressSymbols: false # boolean. Optional. Use when SymbolServerType = FileShare. Compress symbols. Default: false.
  # Advanced
    #DetailedLog: true # boolean. Verbose logging. Default: true.
    #TreatNotIndexedAsWarning: false # boolean. Warn if not indexed. Default: false.
    #SymbolsMaximumWaitTime: # string. Max wait time (min). 
    #SymbolsProduct: # string. Product. 
    #SymbolsVersion: # string. Version. 
    #SymbolsArtifactName: 'Symbols_$(BuildConfiguration)' # string. Artifact name. Default: Symbols_$(BuildConfiguration).
# Index sources and publish symbols v2
# Index your source code and publish symbols to a file share or Azure Artifacts Symbol Server.
- task: PublishSymbols@2
  inputs:
    #SymbolsFolder: '$(Build.SourcesDirectory)' # string. Path to symbols folder. Default: $(Build.SourcesDirectory).
    SearchPattern: '**/bin/**/*.pdb' # string. Required. Search pattern. Default: **/bin/**/*.pdb.
    #IndexSources: true # boolean. Index sources. Default: true.
    #PublishSymbols: true # boolean. Publish symbols. Default: true.
    SymbolServerType: # 'TeamServices' | 'FileShare'. Required when PublishSymbols = true. Symbol server type. 
    #SymbolsPath: # string. Optional. Use when PublishSymbols = true && SymbolServerType = FileShare. Path to publish symbols. 
    #CompressSymbols: false # boolean. Optional. Use when SymbolServerType = FileShare. Compress symbols. Default: false.
  # Advanced
    #DetailedLog: true # boolean. Verbose logging. Default: true.
    #TreatNotIndexedAsWarning: false # boolean. Warn if not indexed. Default: false.
    #SymbolsMaximumWaitTime: # string. Max wait time (min). 
    #SymbolsProduct: # string. Product. 
    #SymbolsVersion: # string. Version. 
    #SymbolsArtifactName: 'Symbols_$(BuildConfiguration)' # string. Artifact name. Default: Symbols_$(BuildConfiguration).

الإدخالات

SymbolsFolder - مسار إلى مجلد الرموز
string. القيمة الافتراضية: $(Build.SourcesDirectory).

يحدد المسار إلى المجلد الذي يتم البحث فيه باستخدام ملفات الرموز. الافتراضي هو $(Build.SourcesDirectory). وإلا، حدد مسارا متجذرا، مثل $(Build.BinariesDirectory)/MyProject.

ملاحظة

مسارات UNC غير مدعومة إذا قمت بتحديد خادم رمز Azure Artifacts كنوع الخادم.


SearchPattern - نمط البحث
string. مطلوب القيمة الافتراضية: **/bin/**/*.pdb.

يحدد النمط المستخدم لاكتشاف ملفات PDB لنشرها. راجع مرجع أنماط مطابقة الملفات لمزيد من المعلومات.


IndexSources - مصادر الفهرس
boolean. القيمة الافتراضية: true.

يحدد ما إذا كان يجب إدخال معلومات الخادم المصدر في ملفات PDB. هذا الخيار مدعوم فقط على وكلاء Windows.


PublishSymbols - نشر الرموز
boolean. القيمة الافتراضية: true.

تحديد ما إذا كنت تريد نشر ملفات الرموز أم لا.


SymbolServerType - نوع خادم الرمز
string. مطلوب عند PublishSymbols = true. القيم المسموح بها: TeamServices (خادم الرمز في هذه المؤسسة/المجموعة (يتطلب Azure Artifacts))، FileShare (مشاركة الملف).

يحدد مكان نشر الرموز. يمكن لأي مستخدم الوصول إلى الرموز المنشورة على خادم رموز Azure Artifacts مع إمكانية الوصول إلى المؤسسة/المجموعة. يدعم File share Azure DevOps Server الخيار فقط. راجع إرشادات نشر الرموز لتصحيح الأخطاء لاستخدام خادم الرمز في Azure Artifacts.


SymbolsPath - مسار نشر الرموز
string. ‏‏اختياري. استخدم عندما PublishSymbols = true && SymbolServerType = FileShare.

يحدد مشاركة الملف التي تستضيف رموزك. سيتم استخدام هذه القيمة في الاستدعاء إلى symstore.exe add كمعلمة /s . لإعداد مخزن رموز SymStore:

  1. قم بإعداد مجلد على خادم مشاركة الملفات لتخزين الرموز. على سبيل المثال، قم بإعداد \fabrikam-share\symbols.
  2. امنح إذن التحكم الكامل لحساب خدمة عامل البناء.

إذا تركت هذه الوسيطة فارغة، فستتم فهرسة الرموز الخاصة بك بالمصدر ولكن لن يتم نشرها. يمكنك أيضا تخزين رموزك مع قطراتك. راجع نشر البيانات الاصطناعية للبناء.


CompressSymbols - ضغط الرموز
boolean. ‏‏اختياري. استخدم عندما SymbolServerType = FileShare. القيمة الافتراضية: false.

ضغط الرموز عند النشر إلى مشاركة الملف.


SymbolExpirationInDays - انتهاء صلاحية الرمز (بالأيام)
string. ‏‏اختياري. استخدم عندما PublishSymbols = true && SymbolServerType = TeamServices. القيمة الافتراضية: 36530.

يحدد عدد الأيام التي يجب الاحتفاظ بالرموز فيها.


IndexableFileFormats - تنسيقات ملفات الرموز المراد نشرها
string. ‏‏اختياري. استخدم عندما PublishSymbols = true && SymbolServerType = TeamServices. القيم المسموح بها: Default (المجموعة الافتراضية من الرموز المراد تحميلها)، Pdb (الرموز المستندة إلى Pdb فقط ل Windows pdb وpdb المحمولة المدارة.)، SourceMap (رموز SourceMap المستندة إلى JavaScript فقط (*.js.map))، All (جميع تنسيقات الرموز المدعومة). القيمة الافتراضية: Default.

يحدد تنسيقات تتبع الأخطاء التي يجب نشرها على خادم الرموز.


DetailedLog - تسجيل مطول
boolean. القيمة الافتراضية: true.

يحدد التسجيل المطول.


TreatNotIndexedAsWarning - تحذير إذا لم تتم فهرسته
boolean. القيمة الافتراضية: false.

يحدد ما إذا كان يجب التحذير إذا لم تتم فهرسة المصادر لملف PDB. وإلا، يتم تسجيل الرسائل كإخراج عادي.


UseNetCoreClientTool - استخدام أداة عميل NetCore
boolean. القيمة الافتراضية: false.

يحدد ما إذا كنت تريد استخدام إصدار من أداة تحميل الرمز التي تدعم ملفات DWARF و ELF. هذا الخيار مهم فقط على وكلاء Windows. على وكلاء غير Windows، سيتم دائما استخدام إصدار أداة تحميل الرموز التي تدعم ملفات DWARF و ELF.


SymbolsMaximumWaitTime - الحد الأقصى لوقت الانتظار (دقيقة)
string.

يحدد عدد الدقائق التي يجب انتظارها قبل فشل هذه المهمة.


SymbolsProduct - المنتج
string.

يحدد معلمة المنتج إلى symstore.exe. الافتراضي هو $(Build.DefinitionName).


SymbolsVersion - الإصدار
string.

يحدد معلمة الإصدار إلى symstore.exe. الافتراضي هو $(Build.BuildNumber).


SymbolsArtifactName - اسم البيانات الاصطناعية
string. القيمة الافتراضية: Symbols_$(BuildConfiguration).

يحدد اسم البيانات الاصطناعية المراد استخدامه للبيانات الاصطناعية للرموز. يجب استخدام هذا فقط مع نوع خادم رمز FileShare. الافتراضي هو Symbols_$(BuildConfiguration).


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

لا شيء

الملاحظات

استخدم هذه المهمة لفهرسة التعليمات البرمجية المصدر ونشر رموزك إلى مشاركة ملف أو خادم رمز Azure Artifacts.

تسمح لك فهرسة التعليمات البرمجية المصدر باستخدام ملفات الرموز لتصحيح أخطاء التطبيق الخاص بك على جهاز آخر غير الجهاز الذي استخدمته لإنشاء التطبيق الخاص بك. على سبيل المثال، يمكنك تصحيح أخطاء تطبيق تم إنشاؤه بواسطة عامل بناء من جهاز تطوير لا يحتوي على التعليمات البرمجية المصدر.

تمكن خوادم الرموز مصحح الأخطاء من استرداد ملفات الرموز الصحيحة تلقائيا دون معرفة أسماء المنتجات أو أرقام الإنشاء أو أسماء الحزم.

هام

لحذف الرموز التي تم نشرها باستخدام مهمة مصادر الفهرس & نشر الرموز ، يجب أولا حذف البنية التي أنشأت هذه الرموز. يمكن تحقيق ذلك باستخدام نهج الاستبقاء أو عن طريق حذف التشغيل يدويا.

كيف تعمل الفهرسة؟

باختيار فهرسة المصادر، سيتم إدخال قسم إضافي في ملفات PDB. تحتوي ملفات PDB عادة على مراجع لمسارات ملفات المصدر المحلي فقط على سبيل المثال: C:\BuildAgent_work\1\src\MyApp\Program.cs. يحتوي القسم الإضافي الذي تم إدخاله في ملف PDB على إرشادات تعيين لمصححي الأخطاء. تشير معلومات التعيين إلى كيفية استرداد عنصر الخادم المطابق لكل مسار محلي.

سيستخدم مصحح أخطاء Visual Studio معلومات التعيين لاسترداد الملف المصدر من الخادم. يتم تضمين أمر فعلي لاسترداد الملف المصدر في معلومات التعيين. مثال:

tf.exe git view /collection:http://SERVER:8080/tfs/DefaultCollection /teamproject:"93fc2e4d-0f0f-4e40-9825-01326191395d" /repository:"647ed0e6-43d2-4e3d-b8bf-2885476e9c44" /commitId:3a9910862e22f442cd56ff280b43dd544d1ee8c9 /path:"/MyApp/Program.cs" /output:"C:\Users\username\AppData\Local\SOURCE~1\TFS_COMMIT\3a991086\MyApp\Program.cs" /applyfilters

هل يمكنني استخدام فهرسة المصدر على PDB محمول تم إنشاؤه من تجميع .NET Core؟

لا، ولكن يمكنك استخدام ارتباط المصدر بدلا من ذلك.

كم من الوقت يتم الاحتفاظ بالرموز؟

ترتبط الرموز بالبنية التي تم نشرها في Azure Pipelines التي ترتبط ببنية. عند حذف البنية إما يدويا أو باستخدام نهج الاستبقاء، يتم أيضا حذف الرموز. إذا كنت تريد الاحتفاظ بالرموز إلى أجل غير مسمى، فميز البنية على أنها الاحتفاظ إلى أجل غير مسمى.

المتطلبات

المتطلبات الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل 2.144.0 أو أحدث
فئة المهمة البنية
المتطلبات الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل 1.95.0 أو أحدث
فئة المهمة البنية

راجع أيضًا