sh 脚本查找对应Git分支


由于每一个版本测试分支 在测试之后会被删除  然后再次测试下一个版本的时候又会生成不同的分支名称 列如 : release_年月日_xxx

导致每次都要修改部署的脚本

有没有什么方法 能减少这个修改呢

方法 :1 将分支名称做为一个参数传进去 (这个方法由于每次重启都要输入分支名 麻烦)

方法2 : 遍历线上的分支 模糊匹配到该分支 再编译

贴代码

CODE_PATH= 项目所在位置路径替换此处

echo "开始拉取最新代码....................................."

#首先进行编译
cd ${CODE_PATH}
echo " 拉取线上分支并同步到本地----------------"
git remote update origin --prune
#遍历git下所有分支
echo "遍历$project_path下所有项目的所有分支"
all_branchs=`git branch -a`;
for branch in $all_branchs;
    do
        branch_simple_name=`echo $branch | grep '/' | cut -d '/' -f3`
        echo $branch_simple_name
        #模糊匹配 release
if [[ $branch_simple_name == release* ]]; then echo "====================" echo $branch_simple_name git pull origin $branch_simple_name echo "开始编译..........................................." mvn clean package -Dmaven.test.skip=true echo "打包完成....................................." echo "====================" fi; done;