2016-01-08 32 views
0

我有一个超过100个模块的蚂蚁项目。我在所有模块中循环编译,打包和发布。然而,当一个常青藤:发布失败(由于随机连接问题),整个构建退出。常春藤发布多模块 - 如何在发布其他人时继续发布其他人

我希望构建过程继续编译/发布剩余的模块,即使一个模块由于某种原因无法发布。

ivy中是否有一些设置:发布以防止出现错误或其他方式来实现此目的?

感谢

回答

0

既然你似乎是使用ANT调用多个子版本,那么我会提交这是一个控制回路问题,而具体到常春藤的东西。换句话说,建议最好确保每个模块的构建都是独立的,然后在循环中,每个模块的构建应该成功或失败。

您还没有指定您的主构建文件的样子?我会高度推荐使用subant任务,因为它有一个“failonerror”标志,它会给你你想要的行为(如果模块失败,构建将继续)。

<subant failonerror="true"> 
    <fileset dir="." includes="**/build.xml" excludes="build.xml"/> 
    <target name="clean"/> 
    <target name="build"/> 
</subant> 

这应该足以解决您的问题。任何失败的构建都可以手动重新运行。在实践中,这可能是困难的,因为一个模块失败可能会导致后续的构建失败,由于缺少依赖关系.....你需要自己判断这个风险。


通过使用嵌入式脚本来运行模块构建,您甚至可以进一步使解决方案更加复杂。如果你有很多很多的错误,你可能想添加一些定制的错误处理逻辑。

+0

是的,我使用subant'' –

+0

的挑战,虽然是如你在随后的构建取决于一些末尾提到以前的版本,所以如果一个模块编译失败,那么它应该停止并退出整个过程。我希望它继续进行的唯一时间是如果ivy发布到远程存储库因远程回购结束时的外部问题而失败(该部分不在我们开发团队的控制范围内) –

相关问题