PublishSymbols@2 - Indicizzare le origini e pubblicare simboli v2 attività
Usare questa attività per indicizzare il codice sorgente e pubblicare i simboli in una condivisione file o in un server di simboli di Azure Artifacts.
L'indicizzazione del codice sorgente consente di usare i file di simboli per eseguire il debug dell'applicazione in un computer diverso da quello usato per compilare l'applicazione. Ad esempio, è possibile eseguire il debug di un'applicazione compilata da un agente di compilazione da un computer di sviluppo che non dispone del codice sorgente.
I server di simboli consentono al debugger di recuperare automaticamente i file di simboli corretti senza conoscere i nomi dei prodotti, i numeri di compilazione o i nomi dei pacchetti.
Sintassi
# 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).
Ingressi dati
SymbolsFolder
-
percorso della cartella dei simboli
string
. Valore predefinito: $(Build.SourcesDirectory)
Specifica il percorso della cartella cercata con i file di simboli. Il valore predefinito è $(Build.SourcesDirectory)
. In caso contrario, specificare un percorso rooted, ad esempio $(Build.BinariesDirectory)/MyProject
.
Nota
I percorsi UNC non sono supportati se si seleziona il server dei simboli di Azure Artifacts come tipo di server.
SearchPattern
-
criteri di ricerca
string
. Obbligatorio. Valore predefinito: **/bin/**/*.pdb
Specifica il modello usato per individuare i file PDB da pubblicare. Per altre informazioni, vedere Informazioni di riferimento sui modelli di corrispondenza file.
Manifest
-
manifesto
string
.
Percorso di un file contenente più chiavi client di simboli da pubblicare.
IndexSources
-
origini dell'indice
boolean
. Valore predefinito: true
Specifica se inserire informazioni sul server di origine nei file PDB. Questa opzione è supportata solo per gli agenti Windows.
PublishSymbols
-
Pubblica simboli
boolean
. Valore predefinito: true
Specifica se pubblicare i file di simboli.
SymbolServerType
-
tipo di server simbolo
string
. Obbligatorio quando PublishSymbols = true
. Valori consentiti: TeamServices
(server simboli in questa organizzazione/raccolta (richiede Azure Artifacts)), FileShare
(condivisione file).
Specifica dove pubblicare i simboli. I simboli pubblicati nel server dei simboli di Azure Artifacts sono accessibili da qualsiasi utente con accesso all'organizzazione o alla raccolta. Azure DevOps Server supporta solo l'opzione File share
. Vedere le istruzioni per Pubblicare simboli per il debug di per l'uso del server dei simboli in Azure Artifacts.
SymbolsPath
-
Percorso per pubblicare simboli
string
. Opzionale. Usare quando PublishSymbols = true && SymbolServerType = FileShare
.
Specifica la condivisione file che ospita i simboli. Questo valore verrà usato nella chiamata a symstore.exe add
come parametro /s
.
Per preparare l'archivio simboli symstore:
- Configurare una cartella in un server di condivisione file per archiviare i simboli. Ad esempio, configurare
\fabrikam-share\symbols
. - Concedere l'autorizzazione di controllo completo all'account del servizio dell'agente di compilazione .
Se si lascia vuoto questo argomento, i simboli verranno indicizzati ma non pubblicati. È anche possibile archiviare i simboli con le gocce. vedere Pubblicare elementi di compilazione.
CompressSymbols
-
Comprimi simboli
boolean
. Opzionale. Usare quando SymbolServerType = FileShare
. Valore predefinito: false
Comprime i simboli durante la pubblicazione nella condivisione file.
scadenza simboli SymbolExpirationInDays
- (in giorni)
string
. Opzionale. Usare quando PublishSymbols = true && SymbolServerType = TeamServices
. Valore predefinito: 36530
Specifica il numero di giorni di conservazione dei simboli.
IndexableFileFormats
-
formati di file symbol per pubblicare
string
. Opzionale. Usare quando PublishSymbols = true && SymbolServerType = TeamServices
. Valori consentiti: Default
(set predefinito di simboli da caricare), Pdb
(solo simboli basati su Pdb di Windows e pdb gestiti da Pdb), SourceMap
(solo simboli SourceMap basati su JavaScript (*.js.map)), All
(Tutti i formati di simboli supportati). Valore predefinito: Default
Specifica i formati di debug da pubblicare nel server dei simboli.
DetailedLog
-
di registrazione dettagliata
boolean
. Valore predefinito: true
Specifica la registrazione dettagliata.
TreatNotIndexedAsWarning
-
Avvisa se non è indicizzato
boolean
. Valore predefinito: false
Specifica se avvisare se le origini non sono indicizzate per un file PDB. In caso contrario, i messaggi vengono registrati come output normale.
UseNetCoreClientTool
-
Usare lo strumento client NetCore
boolean
. Valore predefinito: false
Specifica se utilizzare una versione dello strumento di caricamento dei simboli che supporta i file NANO ed ELF. Questa opzione è importante solo per gli agenti Windows. Negli agenti non Windows verrà sempre usata la versione dello strumento di caricamento dei simboli che supporta i file NANO ed ELF.
SymbolsMaximumWaitTime
-
tempo di attesa massimo (min)
string
.
Specifica il numero di minuti di attesa prima dell'esito negativo di questa attività.
SymbolsProduct
-
prodotto
string
.
Specifica il parametro product da symstore.exe
. Il valore predefinito è $(Build.DefinitionName)
.
SymbolsVersion
-
versione
string
.
Specifica il parametro version da symstore.exe
. Il valore predefinito è $(Build.BuildNumber)
.
SymbolsArtifactName
-
nome artefatto
string
. Valore predefinito: Symbols_$(BuildConfiguration)
Specifica il nome dell'artefatto da utilizzare per l'artefatto dei simboli. Questa operazione deve essere utilizzata solo con il tipo di server di simboli FileShare. Il valore predefinito è Symbols_$(BuildConfiguration)
.
Opzioni di controllo delle attività
Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di output
Nessuno.
Osservazioni:
Usare questa attività per indicizzare il codice sorgente e pubblicare i simboli in una condivisione file o in un server di simboli di Azure Artifacts.
L'indicizzazione del codice sorgente consente di usare i file di simboli per eseguire il debug dell'applicazione in un computer diverso da quello usato per compilare l'applicazione. Ad esempio, è possibile eseguire il debug di un'applicazione compilata da un agente di compilazione da un computer di sviluppo che non dispone del codice sorgente.
I server di simboli consentono al debugger di recuperare automaticamente i file di simboli corretti senza conoscere i nomi dei prodotti, i numeri di compilazione o i nomi dei pacchetti.
Importante
Per eliminare i simboli pubblicati usando l 'attività & Pubblica simboli & origini indice, è prima necessario eliminare la compilazione che ha generato tali simboli. A tale scopo, è possibile usare criteri di conservazione o manualmente eliminare l'esecuzione.
Come funziona l'indicizzazione?
Scegliendo di indicizzare le origini, nei file PDB verrà inserita una sezione aggiuntiva. I file PDB in genere contengono riferimenti solo ai percorsi del file di origine locale, ad esempio C:\BuildAgent_work\1\src\MyApp\Program.cs. La sezione aggiuntiva inserita nel file PDB contiene istruzioni di mapping per i debugger. Le informazioni di mapping indicano come recuperare l'elemento del server corrispondente a ogni percorso locale.
Il debugger di Visual Studio userà le informazioni di mapping per recuperare il file di origine dal server. Un comando effettivo per recuperare il file di origine è incluso nelle informazioni di mapping. Esempio:
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
È possibile usare l'indicizzazione di origine in un PDB portatile creato da un assembly .NET Core?
No, ma è possibile usare collegamento di origine.
Quanto tempo vengono conservati i simboli?
I simboli sono associati alla compilazione pubblicata in Azure Pipelines associata a una compilazione. Quando la compilazione viene eliminata manualmente o usando i criteri di conservazione, vengono eliminati anche i simboli. Se si desidera mantenere i simboli per un periodo illimitato, contrassegnare la compilazione come Mantieni illimitata.
Requisiti
Requisito | Descrizione |
---|---|
Tipi di pipeline | YAML, build classica |
Viene eseguito in | Agente, DeploymentGroup |
richieste | Nessuno |
funzionalità di | Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
restrizioni dei comandi | Qualunque |
variabili impostabili | Qualunque |
Versione dell'agente | 2.144.0 o versione successiva |
Categoria attività | Costruire |
Requisito | Descrizione |
---|---|
Tipi di pipeline | YAML, build classica |
Viene eseguito in | Agente, DeploymentGroup |
richieste | Nessuno |
funzionalità di | Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
restrizioni dei comandi | Qualunque |
variabili impostabili | Qualunque |
Versione dell'agente | 1.95.0 o versione successiva |
Categoria attività | Costruire |