PublishSymbols@2 - Origini di indice e pubblicazione di 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 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.
#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).
Input
SymbolsFolder
- Percorso della cartella simboli
string
. Valore predefinito: $(Build.SourcesDirectory)
.
Specifica il percorso della cartella ricercata con i file di simboli. Il valore predefinito è $(Build.SourcesDirectory)
. In caso contrario, specificare un percorso radice, ad esempio $(Build.BinariesDirectory)/MyProject
.
Nota
I percorsi UNC non sono supportati se si seleziona il server dei simboli di Elementi di Azure come tipo di server.
SearchPattern
- modello Search
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 dei file .
IndexSources
- Origini di indice
boolean
. Valore predefinito: true
.
Specifica se inserire le informazioni del server di origine nei file PDB. Questa opzione è supportata solo sugli agenti Windows.
PublishSymbols
- Pubblicare 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 simboli degli artefatti di Azure sono accessibili da qualsiasi utente con accesso all'organizzazione/raccolta. Azure DevOps Server supporta solo l'opzioneFile share
. Vedere le istruzioni per pubblicare i simboli per il debug per l'uso del server simboli in Artefatti di Azure.
SymbolsPath
- Percorso per pubblicare simboli
string
. facoltativo. 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 /s
parametro.
Per preparare l'archivio simboli di SymStore:
- Configurare la cartella di 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 all'origine ma non pubblicati. È anche possibile archiviare i simboli con le gocce. Vedere Pubblica artefatti di compilazione.
CompressSymbols
- Comprimere i simboli
boolean
. facoltativo. Usare quando SymbolServerType = FileShare
. Valore predefinito: false
.
Comprime i simboli durante la pubblicazione nella condivisione file.
SymbolExpirationInDays
- Scadenza dei simboli (in giorni)
string
. facoltativo. Usare quando PublishSymbols = true && SymbolServerType = TeamServices
. Valore predefinito: 36530
.
Specifica il numero di giorni che devono essere conservati i simboli.
IndexableFileFormats
- Formati di file di simboli da pubblicare
string
. facoltativo. Usare quando PublishSymbols = true && SymbolServerType = TeamServices
. Valori consentiti: Default
(Set predefinito di simboli da caricare), Pdb
(solo i simboli basati su Pdb di Windows e i simboli pdb gestiti da Windows pdb), (solo i simboli SourceMap basati su JavaScript (*.js.map)), SourceMap
All
(Tutti i formati di simboli supportati). Valore predefinito: Default
.
Specifica i formati di debug da pubblicare nel server dei simboli.
DetailedLog
- 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 vengono indicizzate per un file PDB. In caso contrario, i messaggi vengono registrati come output normali.
UseNetCoreClientTool
- Usare lo strumento client NetCore
boolean
. Valore predefinito: false
.
Specifica se usare una versione dello strumento di caricamento dei simboli che supporta i file NANO e 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 e ELF.
SymbolsMaximumWaitTime
- Tempo di attesa massimo (min)
string
.
Specifica il numero di minuti da attendere prima di eseguire l'operazione.
SymbolsProduct
- Prodotto
string
.
Specifica il parametro del prodotto su symstore.exe
. Il valore predefinito è $(Build.DefinitionName)
.
SymbolsVersion
- Versione
string
.
Specifica il parametro di versione in symstore.exe
. Il valore predefinito è $(Build.BuildNumber)
.
SymbolsArtifactName
- Nome artefatto
string
. Valore predefinito: Symbols_$(BuildConfiguration)
.
Specifica il nome dell'artefatto da usare per l'artefatto dei simboli. Questa operazione deve essere usata solo con il tipo di server 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 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à Origini indice & Pubblica simboli , è necessario prima eliminare la compilazione che ha generato tali simboli. Questa operazione può essere eseguita usando i criteri di conservazione o eliminando manualmente l'esecuzione.
Come funziona l'indicizzazione?
Se si sceglie di indicizzare le origini, nei file PDB verrà inserita una sezione aggiuntiva. I file PDB in genere contengono riferimenti solo ai percorsi dei file di origine locale, ad esempio C:\BuildAgent_work\1\src\MyApp\Program.cs. La sezione aggiuntiva inserita nel file PDB contiene le 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 Source Link.
Per 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 conservare i simboli per un periodo illimitato, contrassegnare la compilazione come Mantieni per un periodo illimitato.
Requisiti
Requisito | Descrizione |
---|---|
Tipi di pipeline | YAML, build classica |
Viene eseguito in | Agente, DeploymentGroup |
Richieste | Nessuno |
Capabilities | Questa attività non soddisfa le richieste per le attività successive nel processo. |
Restrizioni dei comandi | Qualsiasi |
Variabili impostabili | Qualsiasi |
Versione agente | 2.144.0 o versione successiva |
Categoria attività | Compilazione |
Requisito | Descrizione |
---|---|
Tipi di pipeline | YAML, build classica |
Viene eseguito in | Agente, DeploymentGroup |
Richieste | Nessuno |
Capabilities | Questa attività non soddisfa le richieste per le attività successive nel processo. |
Restrizioni dei comandi | Qualsiasi |
Variabili impostabili | Qualsiasi |
Versione agente | 1.95.0 o versione successiva |
Categoria attività | Compilazione |