我们需要能够在某些环境中跳过子模块。
有问题的模块包含集成测试,并且需要半小时才能运行。因此,我们希望在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