PublishSymbols@2 : bron indexeren en symbolen publiceren v2-taak
Gebruik deze taak om uw broncode te indexeren en uw symbolen te publiceren op een bestandsshare of azure Artifacts-symboolserver.
Door uw broncode te indexeren, kunt u uw symboolbestanden gebruiken om fouten in uw toepassing op te sporen op een andere computer dan de computer die u hebt gebruikt om uw toepassing te bouwen. U kunt bijvoorbeeld fouten opsporen in een toepassing die is gebouwd door een buildagent vanaf een ontwikkelcomputer die niet over de broncode beschikt.
Met symboolservers kan uw foutopsporingsprogramma automatisch de juiste symboolbestanden ophalen zonder productnamen, buildnummers of pakketnamen te kennen.
Syntaxis
# 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.
#Manifest: # string. Manifest.
#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.
#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).
Invoer
SymbolsFolder
-
Pad naar map symbolen
string
. Standaardwaarde: $(Build.SourcesDirectory)
.
Hiermee geeft u het pad naar de map waarnaar wordt gezocht met symboolbestanden. De standaardwaarde is $(Build.SourcesDirectory)
. Geef anders een geroot pad op, zoals $(Build.BinariesDirectory)/MyProject
.
Notitie
UNC-paden worden niet ondersteund als u de Symboolserver van Azure Artifacts selecteert als servertype.
SearchPattern
-
zoekpatroon
string
. Verplicht. Standaardwaarde: **/bin/**/*.pdb
.
Hiermee geeft u het patroon op dat wordt gebruikt om de PDB-bestanden te detecteren die moeten worden gepubliceerd. Zie Referentiemateriaal voor bestandskoppelingspatronen voor meer informatie.
Manifest
-
manifest
string
.
Het pad naar een bestand met meer symboolclientsleutels om te publiceren.
IndexSources
-
indexbronnen
boolean
. Standaardwaarde: true
.
Hiermee geeft u op of bronservergegevens moeten worden ingevoerd in de PDB-bestanden. Deze optie wordt alleen ondersteund op Windows-agents.
PublishSymbols
-
symbolen publiceren
boolean
. Standaardwaarde: true
.
Hiermee geeft u op of de symboolbestanden moeten worden gepubliceerd.
SymbolServerType
-
symboolservertype
string
. Vereist wanneer PublishSymbols = true
. Toegestane waarden: TeamServices
(symboolserver in deze organisatie/verzameling (vereist Azure Artifacts)), FileShare
(bestandsshare).
Hiermee geeft u op waar symbolen moeten worden gepubliceerd. Symbolen die zijn gepubliceerd op de Azure Artifacts-symboolserver, zijn toegankelijk voor elke gebruiker met toegang tot de organisatie/verzameling. Azure DevOps Server ondersteunt alleen de optie File share
. Zie de instructies voor het Publish symbols for debugging to use Symbol Server in Azure Artifacts.
SymbolsPath
-
pad voor het publiceren van symbolen
string
. Facultatief. Gebruiken wanneer PublishSymbols = true && SymbolServerType = FileShare
.
Hiermee geeft u de bestandsshare op die als host fungeert voor uw symbolen. Deze waarde wordt gebruikt in de aanroep van symstore.exe add
als de parameter /s
.
Uw SymStore-symboolarchief voorbereiden:
- Stel een map in op een server voor het delen van bestanden om de symbolen op te slaan. Stel bijvoorbeeld
\fabrikam-share\symbols
in. - Verdeel machtiging voor volledig beheer aan het serviceaccount van de buildagent.
Als u dit argument leeg laat, worden de symbolen geïndexeerd, maar niet gepubliceerd. U kunt uw symbolen ook opslaan met uw druppels. Zie Build Artifacts publiceren.
CompressSymbols
-
symbolen comprimeren
boolean
. Facultatief. Gebruiken wanneer SymbolServerType = FileShare
. Standaardwaarde: false
.
Comprimeert symbolen bij het publiceren naar een bestandsshare.
SymbolExpirationInDays
-
symboolverloop (in dagen)
string
. Facultatief. Gebruiken wanneer PublishSymbols = true && SymbolServerType = TeamServices
. Standaardwaarde: 36530
.
Hiermee geeft u het aantal dagen op dat symbolen moeten worden bewaard.
IndexableFileFormats
-
Symboolbestandsindelingen voor het publiceren van
string
. Facultatief. Gebruiken wanneer PublishSymbols = true && SymbolServerType = TeamServices
. Toegestane waarden: Default
(de standaardset symbolen die moeten worden geüpload), Pdb
(alleen op Pdb gebaseerde symbolen van Windows pdb en beheerde Portable pdb).), SourceMap
(alleen op JavaScript gebaseerde SourceMap-symbolen (*.js.map)), All
(alle ondersteunde symboolindelingen). Standaardwaarde: Default
.
Hiermee geeft u op welke foutopsporingsindelingen moeten worden gepubliceerd naar de symboolserver.
uitgebreide logboekregistratieDetailedLog
-
boolean
. Standaardwaarde: true
.
Hiermee geeft u uitgebreide logboekregistratie.
TreatNotIndexedAsWarning
-
Waarschuwen als deze niet is geïndexeerd
boolean
. Standaardwaarde: false
.
Hiermee geeft u op of bronnen niet worden geïndexeerd voor een PDB-bestand. Anders worden de berichten geregistreerd als normale uitvoer.
UseNetCoreClientTool
-
NetCore-clienthulpprogramma gebruiken
boolean
. Standaardwaarde: false
.
Hiermee geeft u op of een versie van het hulpprogramma voor het uploaden van symbolen moet worden gebruikt die ONDERSTEUNING biedt voor DE BESTANDEN VAN HET SYMBOOL en ELF. Deze optie is alleen van belang voor Windows-agents. Op niet-Windows-agents wordt de versie van het hulpprogramma voor het uploaden van symbolen die ONDERSTEUNING biedt voor DE BESTANDEN VAN HET SYMBOOL en ELF altijd gebruikt.
SymbolsMaximumWaitTime
-
maximale wachttijd (min.)
string
.
Hiermee geeft u het aantal minuten op dat moet worden gewacht voordat deze taak mislukt.
SymbolsProduct
-
Product
string
.
Hiermee geeft u de productparameter op voor symstore.exe
. De standaardwaarde is $(Build.DefinitionName)
.
SymbolsVersion
-
versie
string
.
Hiermee geeft u de versieparameter voor symstore.exe
. De standaardwaarde is $(Build.BuildNumber)
.
naam van SymbolsArtifactName
- artefact
string
. Standaardwaarde: Symbols_$(BuildConfiguration)
.
Hiermee geeft u de artefactnaam op die moet worden gebruikt voor het artefact symbolen. Dit mag alleen worden gebruikt met het servertype FileShare-symbool. De standaardwaarde is Symbols_$(BuildConfiguration)
.
Opties voor taakbeheer
Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.
Uitvoervariabelen
Geen.
Opmerkingen
Gebruik deze taak om uw broncode te indexeren en uw symbolen te publiceren op een bestandsshare of azure Artifacts-symboolserver.
Door uw broncode te indexeren, kunt u uw symboolbestanden gebruiken om fouten in uw toepassing op te sporen op een andere computer dan de computer die u hebt gebruikt om uw toepassing te bouwen. U kunt bijvoorbeeld fouten opsporen in een toepassing die is gebouwd door een buildagent vanaf een ontwikkelcomputer die niet over de broncode beschikt.
Met symboolservers kan uw foutopsporingsprogramma automatisch de juiste symboolbestanden ophalen zonder productnamen, buildnummers of pakketnamen te kennen.
Belangrijk
Als u symbolen wilt verwijderen die zijn gepubliceerd met behulp van de Indexbronnen & Publicatiesymbolen taak, moet u eerst de build verwijderen die deze symbolen heeft gegenereerd. Dit kan worden bereikt met behulp van bewaarbeleid of door handmatig de uitvoeringte verwijderen.
Hoe werkt indexering?
Als u ervoor kiest om de bronnen te indexeren, wordt er een extra sectie in de PDB-bestanden geïnjecteerd. PDB-bestanden bevatten normaal gesproken verwijzingen naar de lokale bronbestandspaden, bijvoorbeeld: C:\BuildAgent_work\1\src\MyApp\Program.cs. De extra sectie die is geïnjecteerd in het PDB-bestand bevat toewijzingsinstructies voor foutopsporingsprogramma's. De toewijzingsgegevens geven aan hoe het serveritem moet worden opgehaald dat overeenkomt met elk lokaal pad.
Het Visual Studio-foutopsporingsprogramma gebruikt de toewijzingsgegevens om het bronbestand van de server op te halen. Een werkelijke opdracht voor het ophalen van het bronbestand wordt opgenomen in de toewijzingsgegevens. Voorbeeld:
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
Kan ik bronindexering gebruiken op een draagbare PDB die is gemaakt op basis van een .NET Core-assembly?
Nee, maar u kunt in plaats daarvan Bronkoppeling gebruiken.
Hoe lang worden symbolen bewaard?
Symbolen zijn gekoppeld aan de build die is gepubliceerd naar Azure Pipelines die aan een build zijn gekoppeld. Wanneer de build handmatig of met bewaarbeleid wordt verwijderd, worden de symbolen ook verwijderd. Als u de symbolen voor onbepaalde tijd wilt behouden, markeert u de build als Voor onbepaalde tijd behouden.
Vereisten
Voorwaarde | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build |
Wordt uitgevoerd op | Agent, DeploymentGroup |
eisen | Geen |
mogelijkheden | Deze taak voldoet niet aan de vereisten voor volgende taken in de taak. |
opdrachtbeperkingen | Welk dan ook |
variabelen instellen | Welk dan ook |
Agentversie | 2.144.0 of hoger |
Taakcategorie | Bouwen |
Voorwaarde | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build |
Wordt uitgevoerd op | Agent, DeploymentGroup |
eisen | Geen |
mogelijkheden | Deze taak voldoet niet aan de vereisten voor volgende taken in de taak. |
opdrachtbeperkingen | Welk dan ook |
variabelen instellen | Welk dan ook |
Agentversie | 1.95.0 of hoger |
Taakcategorie | Bouwen |