如何避免Maven构建在Travis CI上的问题不在本地发生?
我经常使用Travis CI,并注意到在Travis上构建的最后几周在分叉项目中存在多个问题,这些问题不是在本地发生的,也不是在分叉项目的Travis实例上发生。我确信我使用了相同的Maven版本,因为Maven和Java都可以跨平台移植,所以它们都可以不同于Travis CI环境。 Travis运行Ubuntu 12.04或14.04,我也是这样做的(17.04)。如何避免Maven构建在Travis CI上的问题不在本地发生?
具体我经历:
- 检索
SNAPSHOT
版本,我可以删除~/.m2/repository
和移动~/.m2/settings.xml
搁置后在当地具有相同的Maven版本检索失败(见Why fails Travis CI to retrieve a SNAPSHOT artifact when retrieval works locally?了解详细信息) -
[ERROR] Failed to execute goal org.jacoco:jacoco-maven-plugin:0.7.5.201505241946:check (default-check) on project commons-numbers-complex: Coverage checks have not been met.
反复其中doesn't happen on their master branch(我添加到我的项目的聚合器)
我不是在寻找解决方案ns来解决这里的问题,但要解释为什么这样做可能会有意义,以便在跨平台环境中拓展我对Travis和Maven的理解。
你有没有固定你在Maven中使用的所有插件?你应该首先解决你的构建问题,如:[WARNING] 'parent.relativePath' of POM org.apache.commons:commons-numbers-parent:1.0-SNAPSHOT (/home/travis/build/document-scanner/document-scanner-aggregator/commons-numbers/pom.xml) points at richtercloud:document-scanner-aggregator instead of org.apache.commons:commons-parent, please verify your project structure @ org.apache.commons:commons-numbers-parent:1.0-SNAPSHOT, /home/travis/build/document-scanner/document-scanner-aggregator/commons-numbers/pom.xml, line 19, column 11
?
为什么重建apache-commons-numbers而不使用它们的发布版本有一个很好的理由吗?