如何在 Azure 管道 yaml 文件中的 Maven 目标中添加标签

How to add tags in the maven goal in azure pipeline yaml file

我需要在包含@tag 的 azure pipeline yaml 文件中添加一个 maven 目标,当我这样做时它会抛出一些错误提示 @ is not allowed。

mvn test -Dcucumber.options="--标签'~@skip_scenario 和@Regression'"

这是我需要在 yaml 文件中添加的目标

YAML: 触发器:

池: vmImage: 'windows-latest'

步骤:

错误: [错误] 未知的生命周期阶段“@Smoke”。您必须指定一个有效的生命周期阶段或格式的目标:或:[:]:。可用的生命周期阶段是:验证、初始化、生成源、处理源、生成资源、处理资源、编译、处理-类、生成测试源、处理测试源、生成测试资源、处理测试资源、测试编译、处理测试- 类,测试,准备包,包,预集成测试,集成测试,post-集成测试,验证,安装,部署,预清理,清理,post-clean, pre-site, site, post-site, site-deploy.-> [Help 1]

使用 Yaml 进行测试,我可以重现它。

出现这个问题的原因是Maven任务中的goals字段不支持该命令

根据this doc

生命周期包含验证、编译、测试、打包、验证、安装、部署。

您用来添加标签的命令是Maven命令行。您可以在 Option 字段中添加命令。

例如:

- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    goals: 'test'
    options: 'test -Dcucumber.options="--tags @Smoke"'
    publishJUnitResults: true
    testResultsFiles: '**/surefire-reports/TEST-*.xml'
    javaHomeOption: 'JDKVersion'
    mavenVersionOption: 'Default'
    mavenAuthenticateFeed: false
    effectivePomSkip: false
    sonarQubeRunAnalysis: false

这是关于 the Maven task 的文档。

希望对您有所帮助。