git - 如何使用jenkins在git中获取更改的文件列表
问题描述
我有一个 git 仓库。Jenkins 构建完成后,我需要以 json 格式或任何文件格式获取更改的文件
解决方案
您也可以这样做:
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 步骤。
推荐阅读
- angular - 如何将 Ngx-bootstrap typeahead 中的自动完成数据绑定到输入字段
- python - 从列中提取数字以在 Pandas 中创建新列
- r - R散点图可视化:如何将自定义多个基因着色成散点图?
- c# - c# VS 2019 Xamarin:从嵌入图像的代码中设置图像源的问题
- python - 如何在python中将3D数组转换为2D?
- bash - 带有 if [[ 的 bash 脚本!-f path_to_files ]]
- sqlite - 如何在 SQLite 中创建所需的多对多关系?
- c# - 在图像顶部和图像区域之外绘制文本
- java - 使用流计算值的百分比
- java - 修复 Java 未从存储过程中检索所有行的问题