zoukankan      html  css  js  c++  java
  • 平常构建项目中会用到的一些脚本

    在jenkins 构建服务前校验分支是否合并了master 

    #!/bin/bash
    echo ${branches}

    if [[ ${branches} != hotfix* && ${branches} != release* && ${branches} != feature* && ${branches} != master* ]];then

    echo -e '33[31m 分支格式不对,请获取hotfix 或者release分支 或者 feature分支 33[0m'
    exit 1

    fi

    echo '切换到master主干'

    git checkout master

    echo '获取master的最新代码'

    git pull origin master

    echo '获取master的最新commitid'

    commid=`git rev-parse HEAD`

    echo $commid

    echo '获取上线分支是否包含master的最新commitid'

    result=`git branch -a --contains ${commid}`


    if [[ $result =~ ${branches} ]];then
    echo '可以打包上线'
    git checkout ${branches}
    git pull origin ${branches}

    else
    echo -e '33[31m 你又没合并master ,请自行检查合并 33[0m'
    exit 1

    echo $result

    fi

    *********************************8

    上线结束后,自动进行代码合并

    if [[ ${branches} == master ]];then
    echo '代码合并失败,请使用非master分支'
    exit 0
    fi

    if [[ ${branches} != hotfix* && ${branches} != release* ]];then

    echo -e '33[31m 分支格式不对,请获取hotfix 或者release分支,不进行合并 33[0m'
    exit 1

    fi

    echo '切换到master主干'

    git checkout master

    echo '获取master的最新代码'

    git pull origin master

    echo '获取master的最新commitid'

    commid=`git rev-parse HEAD`

    echo $commid

    echo '获取上线分支是否包含master的最新commitid'

    result=`git branch -a --contains ${commid}|grep ${branches}`
    echo $result
    if [ $result != "" ];then
    echo '开始执行合并代码到master, develop'
    git checkout ${branches}
    git pull origin ${branches}
    git checkout master
    git pull origin master
    git merge ${branches}
    git push origin master
    git checkout develop
    git pull origin develop
    git merge ${branches}
    git push origin develop
    else
    echo -e '33[31m 上线包不包含master分支,上线包有问题 33[0m'
    exit 1echo $result

    ************************************

  • 相关阅读:
    在线古书式竖排工具
    智能实验室-全能优化(Guardio) 5.04.0.1040
    智能实验室-全能优化(Guardio) 5.03.0.1011
    在线专用链双向转换
    智能实验室-杀马(Defendio) 4.32.0.1020
    智能实验室-杀马(Defendio) 4.31.0.1010
    智能实验室-全能优化(Guardio) 4.999.0.981
    智能实验室-杀马(Defendio) 4.27.0.951
    智能实验室-全能优化(Guardio) 5.02.0.1000
    智能实验室-结构化存储浏览器(SSExplorer) 2.0.0.200
  • 原文地址:https://www.cnblogs.com/yingchen/p/11864863.html
Copyright © 2011-2022 走看看