首页 > 解决方案 > 如何使用jenkins在git中获取更改的文件列表

问题描述

我有一个 git 仓库。Jenkins 构建完成后,我需要以 json 格式或任何文件格式获取更改的文件

标签: gitjenkinsjenkins-pipeline

解决方案


您也可以这样做: git diff --name-only $GIT_PREVIOUS_COMMIT $GIT_COMMIT在您的构建脚本中,将其通过管道传输到一个文件中,您应该拥有在该特定构建中已更改的所有文件的列表。这是假设您正在使用Git Plugin for Jenkins

git 插件设置了几个可以在脚本中使用的环境变量:

GIT_COMMIT - 当前 GIT_BRANCH 的 SHA - 远程存储库的名称(默认为 origin),后跟当前正在使用的分支的名称,例如“origin/master”或“origin/foo”

GIT_LOCAL_BRANCH - Jenkins 上的分支名称。配置“结帐到特定本地分支”行为时,将发布变量。如果行为配置为 null 或 **,则该属性将包含生成的本地分支名称,而不包含远程名称。

GIT_PREVIOUS_COMMIT - 来自同一分支的先前构建提交的 SHA(未在分支的第一次构建时设置)

如果您希望此文件成为构建工件,您可以使用 Archive Artifacts post build 步骤。


推荐阅读