如何在 Maven 发布准备和使用 Maven 发布插件执行期间完全跳过单元测试和集成测试

How to completely skip unit tests and integration tests during maven release prepare and perform with maven release plugin

我已经设置了一些自动化来使用 Maven 发布插件执行 Maven 语义版本控制。因此,我正在使用以下内容:-

mvn -B clean release:clean -DpreparationGoals=clean release:prepare -Darguments="-DskipTests" -Darguments="-DskipITs" -Darguments="-Dmaven.javadoc.skip=true" release:perform -Dusername=$GIT_USERNAME -Dpassword=$GIT_PASSWORD

一切都很好,除了在执行阶段,我仍然在我们的 jenkins 日志中看到正在执行的测试。 我想知道在这个 Maven 版本准备和执行期间跳过任何类型测试的最佳方法是什么,而不必对现有 pom.xml 进行任何更改,因为我想通过作为 CLI 参数传递的 Maven 参数来强制执行它我们不必使用这种自动化更新 1000 个 poms 如有任何帮助或建议,我们将一如既往地不胜感激。

您可以使用 arguments 属性 来执行此操作。引用可能非常重要。

示例:

mvn release:prepare ... -Darguments="-Dmaven.test.skip=true -DsomethingElse=whatever"

在这里,我通过 maven.test.skip property (defined by the maven-surefire-plugin's test goal) 通过 maven-release-pluginprepare 目标执行 mvn 运行。