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

Jenkins构建过程中如何获取本次构建包含的提交记录信息

Jenkins CI 拉取本次构建提交记录的解决方案

方案1:使用内置能力+原生Git命令(无需额外插件)

Jenkins官方Git插件默认会为所有构建任务注入专属环境变量,无需额外配置即可直接调用:

  • GIT_COMMIT:本次构建对应的最新提交哈希值
  • GIT_PREVIOUS_SUCCESSFUL_COMMIT:当前分支上一次构建成功的提交哈希值,master/main等主干分支也可正常识别

你可以直接用以下命令获取两次构建之间的所有变更文件列表:

git diff --name-only $GIT_PREVIOUS_SUCCESSFUL_COMMIT $GIT_COMMIT

如果是当前分支的首次构建,GIT_PREVIOUS_SUCCESSFUL_COMMIT 会返回全0的空哈希,此时可以用以下命令获取本次提交的变更内容:

git show --name-only $GIT_COMMIT

拿到变更文件列表后,你可以自行过滤对应文件夹路径,判断后续要执行的构建逻辑,该方案同时兼容PR构建和主干分支构建场景,无需单独维护两套命令。

方案2:使用Jenkins插件降低实现成本

如果不想自己编写Git结果解析逻辑,可以直接使用官方插件实现需求:

  • Changeset Plugin:插件会自动聚合本次构建包含的所有提交和变更文件,支持直接按路径规则匹配变更,比如你要判断src/app目录是否有修改,只需配置对应路径规则即可直接拿到布尔结果。如果使用声明式流水线,还可以直接在when条件中调用插件返回的结果,直接实现「对应目录变更才执行对应步骤」的逻辑。
  • Git Changelog Plugin:如果你需要完整的提交记录(包含提交说明、作者、提交时间等信息),可以使用这个插件直接生成格式化的提交日志,适合需要做构建通知、发版记录的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:45:03