Azure DevOps Pipeline添加OWASP任务报YAML序列不预期错误求助
问题根因
你当前的YAML配置存在2处核心格式错误,正好对应系统返回的两条报错:
- 第1个错误:
OWASPDependencyCheck@0任务直接写在了YAML顶层,没有放在steps节点下。Azure DevOps YAML要求所有任务必须归属于steps字段下,顶层不能直接出现- task这类序列项。 - 第2个错误:由于顶层非法出现了序列项,解析器读到后续的
trigger字段时无法识别为顶层配置键,因此抛出“未找到预期的':'”报错。
修正方案
调整OWASPDependencyCheck@0任务的位置,放到steps节点下即可,完整的有效配置如下:
# Build a general Node.js project with npm. # Add steps that analyze code, save build artifacts, deploy, and more: trigger: - master pool: vmImage: ubuntu-latest steps: - task: NodeTool@0 inputs: versionSpec: '10.x' displayName: 'Install Node.js' - script: | npm install npm run build displayName: 'npm install and build' # 依赖安装完成后执行漏洞扫描,结果更准确 - task: OWASPDependencyCheck@0 inputs: outputDirectory: '$(Agent.TempDirectory)/dependency-scan-results' scanDirectory: '$(Build.SourcesDirectory)' outputFormat: 'ALL' useSonarQubeIntegration: true
额外校验建议
如果修改后还有问题,可以按以下顺序排查:
- 确认已经在Azure DevOps组织中安装了
OWASP Dependency Check扩展,没有安装的话任务会无法识别 - 如果不需要SonarQube集成,可以把
useSonarQubeIntegration参数改为false,避免额外依赖报错 - 可以把Node.js版本调整为适配你React项目的版本,10.x版本对较新的React项目兼容性较差
内容的提问来源于stack exchange,提问作者dkhayutin
相关产品推荐
相关产品推荐

