我有一个git存储库,其中已删除和删除了文件。每个文件都是唯一的,并且内部有一个链接。我们使用Jenkins轮询git并获取该提交,然后根据它启动Jenkins构建。
我现在面临的问题是,我想从主服务器获取最后n个提交,然后遍历每个提交以确定应基于某些条件重建哪些提交。
是否可以通过groovy从git获取该信息?我发现最后一次提交,最后一次詹金斯构建是可能的,但我还需要更多。除了编写返回此类数据的Powershell脚本之外,还有其他方法吗?
Windows env。在此先感谢,希望这一点很清楚。
答案 0 :(得分:1)
有两种方法:
您可以获得all changes in the current build,并且可以导航
到以前的版本:currentBuild.previousBuild.changeSets。
提示:检查是否有以前的版本:
if(currentBuild.previousBuild)
或使用null安全运算符:currentBuild.previousBuild?.changeSets
您可以编写一个Shared Library,以满足您的特定需求。因为Jenkins对Groovy脚本使用CPS(连续传递样式),所以这会花费更多的精力,并且容易出错。您可以使用Grape在Groovy脚本中使用Maven存储库中的库。