jenkins打包,分支漏合时,增加提醒

338 阅读1分钟

以release分支为例,我们公司所有需要发布的分支,必须以release结尾。 实际效果:

jenkins配置: 为下一步获取当前的打包分支做准备。

具体看代码注释吧:

git remote prune origin # 删除远程无用分支, 避免干扰
all=`git branch -r|grep "release"` # 获取所有release分支,你也可以将release改为其他。
arr=(${all// /}) # 将字符串all变为数组arr
length=${#arr[@]} # 获取arr的长度

echo "-----------------看这里!!!!!检查代码漏合---开始------------------------------------------"
for ((i=0; i<$length; i++)); do #循环开始
		#在arr[i]分支上,但不再release分支上的代码;${branch}为jenkins配置的参数
    diff=`git log ${arr[i]} --not ${branch}`
    if [ ${#diff} -gt 0 ] # 如果有漏合的代码,此处diff大于0,无则为0.
    then
        echo "分支 ${arr[i]} 仍有未合并的代码!!!" # 提醒
    fi
done
echo "--------------------------检查代码漏合---结束-----------------------------------------------"