Azure Pipelines PublishSymbols 任务中,如何指定多个搜索模式?
In the Azure Pipelines PublishSymbols task, how to specify multiple search patterns?
我们的管道中有以下 PublishSymbols
任务,并且工作正常。
- task: PublishSymbols@2
inputs:
symbolsFolder: $(Pipeline.Workspace)/s/Server
searchPattern: "**/*.pdb"
indexSources: true
publishSymbols: true
symbolServerType: TeamServices
symbolsProduct: "ACM"
symbolsVersion: $(major).$(minor).$(revision)
symbolsArtifactName: "Symbols_ACM.$(major).$(minor).$(revision)_$(buildConfiguration)"
enabled: true
condition: eq(variables['doPublishSymbols'], 'true')
displayName: Create symbol table
但是,我们想要微调 searchPattern
输入,以便它只查找以 abc 或 xyz[ 开头的 PDB 文件=52=]。我该怎么做?
逗号分隔的字符串?
searchPattern: "**/abc*pdb", "**/xyz*pdb"
数组?
搜索模式:@("**/abc*pdb", "**/xyz*pdb")
某种或符号?
searchPattern: "**/abc*pdb" | “**/xyz*pdb”
PowerShell 换行符怎么样?从 the source files on Github,我推断这可能是解决方案:
搜索模式:“**/abc*pdb`n**/xyz*pdb”
但这是结果:
Found 0 files.
##[warning]No files selected for indexing.
一个相关问题,处理其他文件类型:
我的同事建议我包括与 PDB 文件关联的 EXE 或 DLL 文件,因此 searchPattern 也将包括“abc*exe”、“abc*dll”等。 PublishSymbols
需要这些附加文件吗?或者 PDB 文件是否包含任务所需的所有信息?
我在网上研究过符号 symstore.exe 和 symbol.exe,但我还没有找到这个问题的好答案。
In the Azure Pipelines PublishSymbols task, how to specify multiple search patterns?
您可以直接使用换行符指定多个搜索模式:
- task: PublishSymbols@2
displayName: 'Publish symbols path'
inputs:
SearchPattern: |
**\bin\**\abc*.pdb
**\bin\**\xyz*.pdb
indexSources: true
so the searchPattern will also include "abcexe", "abcdll", and so
on. Does PublishSymbols need these additional files? Or do the PDB
files contain all of the information required by the task?
根据文档Publish symbols for debugging:
With Azure Pipelines, you can publish your symbols to Azure Artifacts
symbol server using the Index sources and publish symbols task.
因此,PublishSymbols 需要这些额外的文件,这些文件应该包含在相应的 nuget 包中,而不是 Symbols 包中。
我们的管道中有以下 PublishSymbols
任务,并且工作正常。
- task: PublishSymbols@2
inputs:
symbolsFolder: $(Pipeline.Workspace)/s/Server
searchPattern: "**/*.pdb"
indexSources: true
publishSymbols: true
symbolServerType: TeamServices
symbolsProduct: "ACM"
symbolsVersion: $(major).$(minor).$(revision)
symbolsArtifactName: "Symbols_ACM.$(major).$(minor).$(revision)_$(buildConfiguration)"
enabled: true
condition: eq(variables['doPublishSymbols'], 'true')
displayName: Create symbol table
但是,我们想要微调 searchPattern
输入,以便它只查找以 abc 或 xyz[ 开头的 PDB 文件=52=]。我该怎么做?
逗号分隔的字符串?
searchPattern: "**/abc*pdb", "**/xyz*pdb"
数组?
搜索模式:@("**/abc*pdb", "**/xyz*pdb")
某种或符号?
searchPattern: "**/abc*pdb" | “**/xyz*pdb”
PowerShell 换行符怎么样?从 the source files on Github,我推断这可能是解决方案:
搜索模式:“**/abc*pdb`n**/xyz*pdb”
但这是结果:
Found 0 files.
##[warning]No files selected for indexing.
一个相关问题,处理其他文件类型:
我的同事建议我包括与 PDB 文件关联的 EXE 或 DLL 文件,因此 searchPattern 也将包括“abc*exe”、“abc*dll”等。 PublishSymbols
需要这些附加文件吗?或者 PDB 文件是否包含任务所需的所有信息?
我在网上研究过符号 symstore.exe 和 symbol.exe,但我还没有找到这个问题的好答案。
In the Azure Pipelines PublishSymbols task, how to specify multiple search patterns?
您可以直接使用换行符指定多个搜索模式:
- task: PublishSymbols@2
displayName: 'Publish symbols path'
inputs:
SearchPattern: |
**\bin\**\abc*.pdb
**\bin\**\xyz*.pdb
indexSources: true
so the searchPattern will also include "abcexe", "abcdll", and so on. Does PublishSymbols need these additional files? Or do the PDB files contain all of the information required by the task?
根据文档Publish symbols for debugging:
With Azure Pipelines, you can publish your symbols to Azure Artifacts symbol server using the Index sources and publish symbols task.
因此,PublishSymbols 需要这些额外的文件,这些文件应该包含在相应的 nuget 包中,而不是 Symbols 包中。