我使用sdk-manager-plugin下载我的Android依赖项。不幸的是,由于“首次下载”问题(#47 #10),我的Jenkins CI构建经常失败。
我听说人们通过两次构建代码来解决这个问题,所以如果它第一次失败,那么它将在第二次传递。
我们尝试使用条件步骤(下面的屏幕截图)在Jenkins中进行设置,但如果第一步失败,它仍会导致整个CI作业失败。
有人可以推荐最好的方法吗?
答案 0 :(得分:2)
我发现解决此问题的最简单方法是运行一个"执行shell"步骤进行增量SDK更新,以确保Android SDK组件是最新的。
这是我的Jenkins CI配置的构建步骤:
这是命令:
(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-tool
或tool
组件,因为导致我的构建经常变得不稳定并失败。我正在运行一个Google Inc.:Google APIs:18
仿真器,对我来说,它似乎比新的更稳定。
答案 1 :(得分:0)
如果构建失败,您可以使用Naginator插件自动触发重建。
此外,如果您在下载时遇到问题,可以尝试设置缓存代理服务器。