上传的项目图片:“Jenkins Artifactory插件”
  1. Jenkins Artifactory插件
  2. hap - 1229

重试上传错误导致“currentBuild”。result '设置为' FAILURE ',这总是破坏任务

    XML 可打印的

    细节

    • 类型: 错误
    • 状态: Resolved
      A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">解决
    • 解决方法: 完成
    • 影响版本/ s: 3.3.2
    • 修复版本/ s: 3.4.0
    • 组件/ s: 柯南

      描述

      https://github.com/jfrog/jenkins-artifactory-plugin/issues/133

      我遇到了这个问题,柯南失败了,因为他在上传包时得到了一个错误'500'。
      不幸的是,柯南(目前)没有重新尝试这个任务,因为我把他放在命令行参数中。

      因此,我为Jenkins Pipeline编写了以下groovy脚本:

      //上传至Conan (Artifactory)//有时,这2个进程试一试在同一时刻改变相同的值。因此我们重复这个步骤。Def max_retry_upload = 5(i = 0;我< max_retry_upload;我+ +){试一试{client.run命令:"upload *——all——force——retry 5——retry-wait 10 -r ${name}——confirm".toString(), buildInfo: buildInfo打破}(例外e) {如果(i == max_retry_upload - 1)"当前构建结果:${currentBuild.result}"println"错误:无法上传,抛出异常…"e}其他的{println"当前构建结果:${currentBuild. "result}(将状态更改回SUCCESS)"println“警告:无法上传,请休眠并重试…”currentBuild。结果=“成功”睡眠(5 + 5 *数学.random ())//等待5 ~ 10秒}}

      该脚本正在工作,以便Jenkins构建作业(也是在第一次上传失败时)。但不幸的是,他仍然认为上传的第一个错误是整个工作的错误。我想,当我抓到错误时,他应该忽略失败。“currentBuild。result已经被设置为FAILURE而不是SUCCESS。
      可能是Artifactory插件首先捕获错误,然后设置“currentBuild”。“结果”到“失败”,然后重新抛出异常?

      也许会很好,如果我们有一个额外的标志,让人工插件只是不写currentbuild.result

        附件

          活动

            受让人:
            yahaviYahav伊扎克。
            记者:
            climblinneJan Linnenkohl
            投票:
            1 为这个问题投票
            观察人士:
            3. 开始关注这个问题

              日期

              创建:
              更新:
              解决: