【问题标题】:How to always run a build step in Jenkins and ignore failure如何始终在 Jenkins 中运行构建步骤并忽略失败
【发布时间】:2015-03-22 19:54:25
【问题描述】:

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

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

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

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

【问题讨论】:

  • issues.jenkins-ci.org/browse/… 根据此评论(Dominik Bartholdi 于 2014 年 9 月 9 日发表),在状态更改为 SUCCESS 以外的任何内容后,Jenkins 不会调用 conditional-buildstep

标签: android jenkins


【解决方案1】:

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

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

【讨论】:

    【解决方案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-tooltool 组件,因为这导致我的构建经常变成不稳定和失败。我正在运行一个Google Inc.:Google APIs:18 模拟器,它对我来说似乎比新的更稳定。

    【讨论】:

    • 我已经成功使用了你的命令。这是一个细节,但我不明白为什么它抱怨 'y': Unknown response 'y
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-06
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 2019-11-25
    相关资源
    最近更新 更多