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

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

  • 相关阅读:
    RabbitMQ内存爆出
    SQL Server特殊用法笔记
    C# 实现一个可取消的多线程操作 示例
    js 下载图片与下载文件的方式一样;保存至本地 ASP.NET 方式
    ajaxfileupload.js的简单使用
    Wince 6.0适用 .NET 使用HttpRequest的Post上传文件,服务端的Web API接收Post上传上来的文件 代码
    C# .csv文件转为Excel格式;Excel格式转换为.csv
    将汉字转换为拼音
    检查汉子字符
    初学JQuery笔记
  • 原文地址:https://www.cnblogs.com/yingchen/p/11864863.html
Copyright © 2011-2022 走看看