在Azure管道发布符号任务中,如何指定多个搜索模式? [英] 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文件。我该怎么做?
逗号分隔的字符串?
搜索模式:";**/abc*pdb";,&*/xyz*pdb";
数组?
搜索模式:@(";**/abc*pdb";,&*/xyz*pdb";)
某种OR符号?
搜索模式:";**/abc*pdb";|";**/xyz*pdb";
PowerShell新行如何?从the source files on Github,我推断这可能是解决方案:
搜索模式:";**/abc*pdb`n**/xyz*pdb";
但这就是结果:
找到0个文件。
##[警告]未选择要编制索引的文件。
处理其他文件类型的相关问题:
我的同事建议我包括与PDB文件相关联的EXE或DLL文件,因此搜索模式还将包括";abc*exe";、";abc*dll";等等。PublishSymbols
是否需要这些附加文件?或者,PDB文件是否包含任务所需的所有信息?
我已经在Web上搜索了符号、symstore.exe和symbol.exe,但我还没有找到这个问题的良好答案。
推荐答案
在Azure管道发布符号任务中,如何指定多个搜索模式?
您可以直接用换行符指定多个搜索模式:
- task: PublishSymbols@2
displayName: 'Publish symbols path'
inputs:
SearchPattern: |
**in**abc*.pdb
**in**xyz*.pdb
indexSources: true
因此,搜索模式还将包括";abcexe;、";abcdll";等 在……上面。PublishSymbols是否需要这些附加文件?或者做PDB 文件包含任务所需的所有信息?
根据文档Publish symbols for debugging:
使用Azure管道,您可以将符号发布到Azure项目 使用索引源和发布符号任务的符号服务器。
因此,PublishSymbols需要这些附加文件,这些文件应该包含在相应的Nuget包中,而不是符号包中。
这篇关于在Azure管道发布符号任务中,如何指定多个搜索模式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!