2016-01-08 30 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發佈到遠程存儲庫因遠程回購結束時的外部問題而失敗(該部分不在我們開發團隊的控制範圍內) –

相關問題