如何在Jenkins

时间:2017-05-13 12:59:20

标签: git github jenkins

我想在Git / Git-hub主分支中的特定文件夹更改时运行jenkins作业。

目前,只要Git master正在更改,它就会运行,但只有当Git master中的特定文件夹发生更改时才需要运行。

enter image description here

enter image description here

正如我上面提到的,只有subFolder更改,而不仅仅是我需要运行作业,我尝试了不同的选项,但它无法识别我的文件夹。

寻找你的建议和解决方案。

感谢您提前。

2 个答案:

答案 0 :(得分:2)

我能想到的一个hack是在你的jenkins测试脚本中,首先读取最新的提交(使用GIT_COMMIT环境变量),并扫描你关心的目标子目录中的任何更改。如果没有显示任何更改,则只需提前终止构建。

它不漂亮,但应该适用于您的场景。

示例:

git diff --name-only $GIT_PREVIOUS_SUCCESSFUL_COMMIT $GIT_COMMIT | grep "the/directory/you/care/" -q
if [ $? -ne 0 ]; then
   # if there is no change under the directory you care, exit now.
   echo "No change under the target directory. Skipping build.."
   exit 0
fi

# your existing build/test script...

答案 1 :(得分:0)

我通过向Jenkins添加一个简单的附加行为来得到这个问题的答案,即只需检查Git部分下方的“附加行为”部分,然后选择“使用特定文件夹路径进行轮询'就是这样。

现在提供你想要的特定文件夹路径 - 在我的情况下'subFolder / * .sh'