如何让Jenkins归档最后一个版本和最新版本之间的git差异?

时间:2014-08-18 02:41:53

标签: git jenkins

所以基本上我试图让Jenkins对最后一个构建git提交和最新构建之间的所有已更改文件(包括它们的路径)进行update.zip。

我有这个脚本来制作完整的文件zip和更新zip,但是如果我进行多次提交并推送,它只会存档最新的提交。

有什么方法可以让我将更新zip中的所有已更改文件和新文件存档从上一次构建提交到最新版本?

zip -r -9 $WORKSPACE/builds/full-files-$BUILD_NUMBER.zip files
git archive -o $WORKSPACE/builds/Update-$BUILD_NUMBER.zip HEAD $(git diff --name-only HEAD^)

(希望我能正确解释这一点)

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

为此,您需要能够检索最后构建的提交。根据git插件documentation,它应该在GIT_PREVIOUS_COMMIT环境变量中可用。因此,您可以尝试使用

获取差异
git diff --name-only $GIT_PREVIOUS_COMMIT