1

运行 Azure DevOps Pipeline 时出现问题。

我现在正在使用 Spring Boot Maven 项目。我想在不构建测试(src/test)文件的情况下运行构建管道,因为项目会在测试文件中构建失败,而在没有测试文件的情况下也可以成功构建。

是否有任何设置或配置?非常感谢。

您可以查看图像以查看详细信息,谢谢。 请检查日志的图像

4

3 回答 3

2

您可以尝试以下方法:

  1. maven.test.skip=true
  • 在终端
mvn package -Dmaven.test.skip=true
  • 或者在pom.xml
<project>
    <properties>
        <maven.test.skip>true</maven.test.skip>
    </properties>
</project>
  1. -DskipTests在surefire插件中使用它。
  • 在终端
mvn package -DskipTests
  • 或者在pom.xml
<project>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M1</version>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

要查看更多详细信息,您可以参考以下文章:

于 2020-12-17T08:04:32.637 回答
1

我们在 Maven@3 任务中有options参数,我们将帮助为 maven 添加额外的命令行选项。

Azure DevOps Maven 任务 -链接

steps:
  - task: Maven@3
    inputs:
      mavenPomFile: './pom.xml'
      mavenOptions: '-Xmx3072m'
      javaHomeOption: 'JDKVersion'
      jdkVersionOption: '1.8'
      jdkArchitectureOption: 'x64'
      publishJUnitResults: false
      testResultsFiles: '**/surefire-reports/TEST-*.xml'
      goals: 'package'
      options: '-DskipTests=true'
于 2021-09-08T12:46:07.423 回答
1

@Bright Ran-MSFT 提供的解决方案很好,但不关注 Azure Pipeline 跳过测试的方式。这是因为人们可能不想永远跳过测试,而只是为了几个临时实例。因此,在 pom.xml 中跳过硬编码测试可能不是一个好主意。

Azure Pipeline 的Maven任务提供了一种不同的参数传递方式。
-Dmaven.test.skip=true或者-DskipTests=true可以通过任务options的参数传递Maven。像这样的东西-

steps:
- task: Maven@3
  inputs:
    mavenPomFile: './pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/surefire-reports/TEST-*.xml'
    goals: 'package'
    options: 'package -Dmaven.test.skip'
于 2021-04-28T10:16:44.540 回答