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

How to always run a build step in Jenkins and ignore failure

我用的是sdk-manager-plugin to download my Android dependencies. Unfortunately my Jenkins CI build frequently fails due to "first time download" issues (#47 #10).

我听说人们通过两次构建代码来解决这个问题,这样如果第一次失败,第二次就会通过。

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

谁能推荐最好的设置方法?

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

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

我发现解决此问题的最简单方法是 运行 "Execute 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-tooltool 组件,因为导致我的构建经常变得不稳定和失败。我正在 运行 使用 Google Inc.:Google APIs:18 模拟器,它对我来说似乎比新的模拟器稳定得多。