You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins状态文件的存储与复用及相关技术疑问

Jenkins Pipeline状态文件保存与复用相关问题解答

问题1:如何保存状态文件以便下次Pipeline复用?

有几种常用的实现方式:

  • 用archiveArtifacts步骤(依赖Copy Artifact插件):直接将状态文件归档到Jenkins存储系统,后续Pipeline可通过copyArtifacts拉取历史构建的归档文件复用。
  • 存到Jenkins工作区外的持久化目录:如果节点有固定的共享存储路径,可将状态文件复制到该路径,下次构建直接从这里读取(注意跨节点执行时需保证存储可共享)。
  • 简单状态用参数/全局变量存储:如果状态是字符串、数值这类简单内容,可将其存入构建参数或Jenkins全局变量,下次构建直接调用。
  • 同构建内阶段复用可用stash/unstash:但该方式仅在当前构建生命周期内有效,无法跨构建复用。

问题2:执行以下代码后,状态文件是否还存在?

post {
    always {
        cleanWs()
    }
}
  • 状态文件不会保留在当前构建的工作区。cleanWs()会在构建结束后(无论成功失败)清空整个工作区,包括生成的状态文件。但如果在cleanWs()执行前已经完成归档(比如用archiveArtifacts),那么归档后的文件会保存在Jenkins的专用存储目录,不会被清理。

问题3:archiveArtifacts会将状态文件保存到Jenkins目录的哪个位置?

默认存储路径为Jenkins主目录下的jobs/<你的Job名称>/builds/<构建编号>/archive/:

  • 举例:若Job名为deploy-demo,构建编号是15,完整路径就是$JENKINS_HOME/jobs/deploy-demo/builds/15/archive/,其中$JENKINS_HOME是Jenkins根目录(通常Linux下为/var/lib/jenkins,Windows下为C:\Program Files\Jenkins\.jenkins)。
  • 归档文件会保留原工作区的相对目录结构,比如你归档config/status.json,在archive目录下也会对应生成config/status.json的层级。

内容的提问来源于stack exchange,提问作者Doraemon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:39:52