温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

jenkins为何丢构建记录

发布时间:2026-10-01 23:50:39 来源:亿速云 阅读:115 作者:小樊 栏目:编程语言

Jenkins“丢构建记录”通常不是真的凭空消失,而是构建记录被清理/覆盖/未持久化导致的。常见原因和对应现象如下:


1. 构建历史被自动清理(最常见)

1.1 项目配置了“丢弃旧的构建”

在 Job 配置 → Discard old builds 中:

  • 保留天数(Days to keep builds)
  • 保留最大数量(Max # of builds to keep)

一旦超过限制,旧构建记录 + 日志会被直接删除。

✅ 检查方式:

  • 打开 Job → Configure → Discard old builds
  • 看是否设置了较小的值(如 keep 5)

2. 使用了临时/易失的工作空间或存储

2.1 $JENKINS_HOME 在容器或临时盘中

例如:

  • Docker 容器未挂载 volume
  • 跑在 tmpfs / 临时云主机上
  • Jenkins 被重启后容器重建

结果:Jenkins 重启后整个 jobs/builds 目录没了

✅ 检查:

docker inspect jenkins | grep Mounts

3. 构建根本没成功写入(构建被中断)

以下情况构建记录可能不完整或直接丢失:

  • Jenkins 被 kill(SIGKILL)
  • 节点掉线(agent 失联)
  • 磁盘写满
  • 权限不足(jenkins 用户无法写 builds/)

✅ 看日志:

tail -n 200 $JENKINS_HOME/logs/jenkins.log

4. 使用了“Pipeline + 无存档”

在 Scripted / Declarative Pipeline 中:

  • 如果构建在 node{} 外失败
  • 或没有 archiveArtifacts
  • 或使用了 cleanWs()

构建记录可能只剩一个空壳。


5. 多分支 / 参数化 Job 被覆盖

  • 多分支 Pipeline 分支删除 → 构建记录删除
  • 同一个参数 Job 高频触发,旧记录被滚动覆盖(尤其设置了 keep 1)

6. 使用了外部存储但同步失败

如:

  • NFS / EFS 断连
  • 对象存储插件异常
  • 自建 Artifactory / S3 未配置正确

7. 插件 Bug 或升级异常

少数情况:

  • 升级 Jenkins 后插件不兼容
  • 构建显示器插件异常

✅ 建议:

  • 升级到 LTS 稳定版
  • 避免混用过期插件

快速自查清单 ✅

  1. 是否配置了 Discard old builds
  2. Jenkins 是否跑在 容器但未持久化
  3. 磁盘是否写过满
  4. 构建是否是 被中断/节点掉线
  5. 是否使用了 cleanWs() 或临时节点

如果你愿意,可以告诉我:

  • Jenkins 运行方式(裸机 / Docker / K8s)
  • 是否 Pipeline
  • 是“全部丢失”还是“部分旧记录丢失”

我可以更精准定位原因。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手