如何始终在Jenkins中运行构建步骤并忽略失败

时间:2015-01-23 17:40:58

标签: android jenkins

我使用sdk-manager-plugin下载我的Android依赖项。不幸的是,由于“首次下载”问题(#47 #10),我的Jenkins CI构建经常失败。

我听说人们通过两次构建代码来解决这个问题,所以如果它第一次失败,那么它将在第二次传递。

我们尝试使用条件步骤(下面的屏幕截图)在Jenkins中进行设置,但如果第一步失败,它仍会导致整个CI作业失败。

有人可以推荐最好的方法吗?

jenkins config

2 个答案:

答案 0 :(得分:2)

我发现解决此问题的最简单方法是运行一个"执行shell"步骤进行增量SDK更新,以确保Android SDK组件是最新的。

这是我的Jenkins CI配置的构建步骤:

Jenkins config

这是命令:

(for i in {1..30}; do echo y; sleep 1; done) | /opt/android/android-sdk-linux/tools/android update sdk --all --no-ui --filter \    
extra-android-m2repository,extra-android-support,extra-google-google_play_services,extra-google-m2repository    

我的环境的一个微妙之处(我目前在云中使用Jenkins,使用CloudBees):我需要确保我没有更新platform-tooltool组件,因为导致我的构建经常变得不稳定并失败。我正在运行一个Google Inc.:Google APIs:18仿真器,对我来说,它似乎比新的更稳定。

答案 1 :(得分:0)

如果构建失败,您可以使用Naginator插件自动触发重建。

此外,如果您在下载时遇到问题,可以尝试设置缓存代理服务器。