我们需要能够在某些环境中跳过子模块。
有问题的模块包含集成测试,需要半小时才能运行。因此,我们希望在 CI 服务器上构建时包含它,但是当开发人员在本地构建(并运行测试)时,我们希望跳过该模块。
有没有办法通过配置文件设置来做到这一点?我做了一些谷歌搜索并查看了这里的其他问题/答案,但没有找到好的解决方案。
我想一个选择是pom.xml完全从父模块中删除该子模块,然后在我们的 CI 服务器上添加另一个项目来构建该模块。
pom.xml
建议?
当然,这可以使用配置文件来完成。您可以在父 pom.xml 中执行以下操作。
... <modules> <module>module1</module> <module>module2</module> ... </modules> ... <profiles> <profile> <id>ci</id> <modules> <module>module1</module> <module>module2</module> ... <module>module-integration-test</module> </modules> </profile> </profiles> ...
在您的 CI 中,您将使用ci配置文件运行 maven,即mvn -P ci clean install
ci
mvn -P ci clean install