PublishSymbols@2 - Dizin kaynakları ve yayımlama simgeleri v2 görevi

Kaynak kodunuzu dizine almak ve simgelerinizi bir dosya paylaşımında veya Azure Artifacts sembol sunucusunda yayımlamak için bu görevi kullanın.

Kaynak kodunuzun dizinini oluşturmak, sembol dosyalarınızı kullanarak uygulamanızı oluştururken kullandığınız makine dışında bir makinede hata ayıklamanıza olanak tanır. Örneğin, kaynak kodu olmayan bir geliştirme makinesinden derleme aracısı tarafından oluşturulan bir uygulamada hata ayıklayabilirsiniz.

Sembol sunucuları, hata ayıklayıcınızın ürün adlarını, derleme numaralarını veya paket adlarını bilmeden doğru sembol dosyalarını otomatik olarak almasını sağlar.

Syntax

# 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).

Girişler

SymbolsFolder - Simgeler klasörünün yolu
string. Varsayılan değer: $(Build.SourcesDirectory).

Sembol dosyalarıyla birlikte aranan klasörün yolunu belirtir. Varsayılan değer: $(Build.SourcesDirectory). Aksi takdirde, gibi $(Build.BinariesDirectory)/MyProjectköklü bir yol belirtin.

Not

Sunucu türü olarak Azure Artifacts sembol sunucusunu seçerseniz UNC yolları desteklenmez.


SearchPattern - Arama deseni
string. Gereklidir. Varsayılan değer: **/bin/**/*.pdb.

Yayımlayacak PDB dosyalarını bulmak için kullanılan deseni belirtir. Daha fazla bilgi için bkz. Dosya eşleştirme desenleri başvurusu .


IndexSources - Dizin kaynakları
boolean. Varsayılan değer: true.

Kaynak sunucu bilgilerinin PDB dosyalarına eklenip eklenmeyeceğini belirtir. Bu seçenek yalnızca Windows aracılarında desteklenir.


PublishSymbols - Sembolleri yayımlama
boolean. Varsayılan değer: true.

Sembol dosyalarının yayımlanıp yayımlanmayacağını belirtir.


SymbolServerType - Sembol sunucusu türü
string. olduğunda PublishSymbols = truegereklidir. İzin verilen değerler: TeamServices (Bu kuruluşta/koleksiyonda Sembol Sunucusu (Azure Artifacts gerektirir)), FileShare (Dosya paylaşımı).

Simgelerin yayımlandığı yeri belirtir. Azure Artifacts sembol sunucusunda yayımlanan sembollere kuruluşa/koleksiyona erişimi olan tüm kullanıcılar erişebilir. Azure DevOps Server yalnızca seçeneği desteklerFile share. Azure Artifacts'te Sembol Sunucusu'nu kullanmak üzere hata ayıklama için sembol yayımlama yönergelerine bakın.


SymbolsPath - Sembol yayımlama yolu
string. İsteğe bağlı. olduğunda PublishSymbols = true && SymbolServerType = FileSharekullanın.

Sembollerinizi barındıran dosya paylaşımını belirtir. Bu değer parametresi olarak /s çağrısında symstore.exe add kullanılır. SymStore sembol deponuzu hazırlamak için:

  1. Simgeleri depolamak için dosya paylaşım sunucusunda bir klasör ayarlayın. Örneğin, ayarlayın \fabrikam-share\symbols.
  2. Derleme aracısı hizmet hesabına tam denetim izni verin.

Bu bağımsız değişkeni boş bırakırsanız, sembolleriniz kaynak dizine alınacaktır ancak yayımlanmayacaktır. Simgelerinizi damlalarınızla birlikte de depolayabilirsiniz. Bkz. Derleme Yapıtlarını Yayımlama.


CompressSymbols - Simgeleri sıkıştırma
boolean. İsteğe bağlı. olduğunda SymbolServerType = FileSharekullanın. Varsayılan değer: false.

Dosya paylaşımına yayımlarken simgeleri sıkıştırır.


SymbolExpirationInDays - Simge Süre Sonu (gün olarak)
string. İsteğe bağlı. olduğunda PublishSymbols = true && SymbolServerType = TeamServiceskullanın. Varsayılan değer: 36530.

Simgelerin saklanması gereken gün sayısını belirtir.


IndexableFileFormats - Yayımlanacak simge dosyası biçimleri
string. İsteğe bağlı. olduğunda PublishSymbols = true && SymbolServerType = TeamServiceskullanın. İzin verilen değerler: Default (Karşıya yüklenecek varsayılan simge kümesi), Pdb (Yalnızca Pdb tabanlı simgeler Windows pdb'leri ve yönetilen Taşınabilir pdb'ler.), SourceMap (Yalnızca JavaScript tabanlı SourceMap simgeleri (*.js.map)), All (Desteklenen tüm sembol biçimleri). Varsayılan değer: Default.

Sembol sunucusuna hangi hata ayıklama biçimlerinin yayımlanacağını belirtir.


DetailedLog - Ayrıntılı günlük kaydı
boolean. Varsayılan değer: true.

Ayrıntılı günlük kaydını belirtir.


TreatNotIndexedAsWarning - Dizine alınmadıysa uyar
boolean. Varsayılan değer: false.

Bir PDB dosyası için kaynakların dizine alınmaması durumunda uyarı alınıp alınmayacağını belirtir. Aksi takdirde, iletiler normal çıkış olarak günlüğe kaydedilir.


UseNetCoreClientTool - NetCore istemci aracını kullanma
boolean. Varsayılan değer: false.

SIMGE yükleme aracının CÜCE ve ELF dosyalarını destekleyen bir sürümünün kullanılıp kullanılmayacağını belirtir. Bu seçenek yalnızca Windows aracılarında önemlidir. Windows olmayan aracılarda, CÜCE ve ELF dosyalarını destekleyen sembol yükleme aracının sürümü her zaman kullanılır.


SymbolsMaximumWaitTime - En uzun bekleme süresi (dk)
string.

Bu görev başarısız olmadan önce bek eklenecek dakika sayısını belirtir.


SymbolsProduct - Ürün
string.

için ürün parametresini symstore.exebelirtir. Varsayılan değer: $(Build.DefinitionName).


SymbolsVersion - Sürüm
string.

için sürüm parametresini symstore.exebelirtir. Varsayılan değer: $(Build.BuildNumber).


SymbolsArtifactName - Yapıt adı
string. Varsayılan değer: Symbols_$(BuildConfiguration).

Semboller yapıtı için kullanılacak yapıt adını belirtir. Bu yalnızca FileShare sembol sunucu türüyle kullanılmalıdır. Varsayılan değer: Symbols_$(BuildConfiguration).


Görev denetim seçenekleri

Tüm görevlerde görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Yok.

Açıklamalar

Kaynak kodunuzu dizine almak ve simgelerinizi bir dosya paylaşımında veya Azure Artifacts sembol sunucusunda yayımlamak için bu görevi kullanın.

Kaynak kodunuzun dizinini oluşturmak, sembol dosyalarınızı kullanarak uygulamanızı oluştururken kullandığınız makine dışında bir makinede hata ayıklamanıza olanak tanır. Örneğin, kaynak kodu olmayan bir geliştirme makinesinden derleme aracısı tarafından oluşturulan bir uygulamada hata ayıklayabilirsiniz.

Sembol sunucuları, hata ayıklayıcınızın ürün adlarını, derleme numaralarını veya paket adlarını bilmeden doğru sembol dosyalarını otomatik olarak almasını sağlar.

Önemli

Dizin Kaynakları & Simgeleri Yayımla görevi kullanılarak yayımlanan simgeleri silmek için önce bu simgeleri oluşturan derlemeyi silmeniz gerekir. Bu, bekletme ilkeleri kullanılarak veya çalıştırmayı el ile silinerek gerçekleştirilebilir.

Dizin oluşturma nasıl çalışır?

Kaynakların dizinini oluşturmayı seçerek, PDB dosyalarına ek bir bölüm eklenir. PDB dosyaları normalde yalnızca yerel kaynak dosya yollarına başvurular içerir; örneğin: C:\BuildAgent_work\1\src\MyApp\Program.cs. PDB dosyasına eklenen ek bölüm, hata ayıklayıcılar için eşleme yönergelerini içerir. Eşleme bilgileri, her yerel yola karşılık gelen sunucu öğesinin nasıl alınacaklarını gösterir.

Visual Studio hata ayıklayıcısı, kaynak dosyayı sunucudan almak için eşleme bilgilerini kullanır. Eşleme bilgilerine kaynak dosyayı almak için gerçek bir komut eklenir. Örnek:

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

.NET Core derlemesinden oluşturulan taşınabilir bir PDB'de kaynak dizini oluşturmayı kullanabilir miyim?

Hayır, ama bunun yerine Source Link kullanabilirsiniz.

Simgeler ne kadar süreyle korunur?

Simgeler, Azure Pipelines'da yayımlanan derlemeyle ilişkilendirilir ve bunlar bir derlemeyle ilişkilendirilir. Derleme el ile veya bekletme ilkeleri kullanılarak silindiğinde simgeler de silinir. Simgeleri süresiz olarak korumak istiyorsanız, derlemeyi Süresiz Olarak Koru olarak işaretleyin.

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme
Üzerinde çalıştırılır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü 2.144.0 veya üzeri
Görev kategorisi Yapı
Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme
Üzerinde çalıştırılır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü 1.95.0 veya üzeri
Görev kategorisi Yapı

Ayrıca bkz.