Jenkins 詹金斯报道;无法旋转日志,看起来已被删除";

Jenkins 詹金斯报道;无法旋转日志,看起来已被删除";,jenkins,Jenkins,我的构建服务器已满。我rm-从Jenkins的作业目录中删除了一些旧版本 后来我发现了一件事 但现在运行此代码段会导致以下异常: java.io.IOException: example.com/builds/25 looks to have already been deleted; siblings: [lastFailedBuild, 24, lastStableBuild, 88, lastUnsuccessfulBuild, 90, lastSuccessfulBuild, 89, l

我的构建服务器已满。我
rm
-从Jenkins的作业目录中删除了一些旧版本

后来我发现了一件事

但现在运行此代码段会导致以下异常:

java.io.IOException: example.com/builds/25 looks to have already been deleted; siblings: [lastFailedBuild, 24, lastStableBuild, 88, lastUnsuccessfulBuild, 90, lastSuccessfulBuild, 89, legacyIds, lastUnstableBuild]
据我观察,“清理”现在被卡住了,因为反复运行代码片段显示
example.com/builds/25看起来已经被删除了,而根据我的丢弃旧版本策略应该清理的目录却没有被删除。

我通过

  • 使用Jenkins的权限创建缺少的目录(例如
    mkdir${Jenkins_DIR}/jobs/example.com/builds/25&&chown-Jenkins:Jenkins${Jenkins_DIR}/jobs/example.com/builds/25
  • 重复运行代码段,直到所有错误消息消失

  • 我试图运行Groovy脚本来重置构建号时遇到了这个问题。对于有问题的构建,我使用了新的.dropLinks()方法来清除该构建

    item = Jenkins.instance.getItemByFullName("your-build-name")
    //THIS WILL REMOVE ALL BUILD HISTORY
    item.builds.each() { build ->
      try {
        println "Deleting build " + build.number
        build.delete()
        // After clearing out all the builds using delete
        // Try another run using dropLinks() to clear out some orphaned stuff
        // build.dropLinks()
      }
      catch(Exception e) {
        println "Unable to delete build"
        println e.message
      }
    }
    item.updateNextBuildNumber(1)
    

    嗯,你手动
    rm
    那个旧版本了吗?@Martin,是的,我手动
    rm
    那个旧版本。那么,难怪
    job.logRotate()
    版本看起来已经被删除了,因为这是真的。