检查Jenkins构建

时间:2017-10-25 18:40:11

标签: git jenkins jenkins-plugins hudson

在Jenkins构建中,如果存储库的一部分没有更改,我想跳过一些测试。这可以节省构建过程的大量时间。以下是我在开发机器上的操作方法:

changes=$(git log --name-only --pretty="" my_branch..HEAD | grep path/to/folder)
if [[ -z $changes ]]; then
  echo "no changes detected, skipping tests"
  exit 0
fi
echo "running tests!"

如何在Jenkins机器上执行此操作?

我正在使用git plugin for Jenkins,它可以使用$GIT_BRANCH来计算我的分支名称,但我对如何在构建中获取文件更改列表毫无头绪。

1 个答案:

答案 0 :(得分:1)

在Freestyle工作中,您可能必须使用条件构建步骤插件。我不认为你可以运行shell脚本作为其中一个条件,但你可以运行一步来执行你粘贴的shell脚本,如果你应该(或不应该)运行测试,让它触摸一个文件。然后使用条件构建步骤来查找该文件并执行正确的操作。

我也刚刚意识到git插件所具有的其他行为之一是轮询忽略某些路径中的提交。这允许您指定包含或排除。如果指定“包含”,则如果修改了除这些文件之外的其他文件,则该作业甚至不会触发构建。然后,您甚至不需要shell脚本或占用执行程序来检查更改。

相关问题