在git中创建标记OR分支时触发bash脚本

时间:2015-11-20 08:28:51

标签: git githooks autodeploy

我想将make auto部署如下:

  1. 在每次代码推送时部署到QC环境
  2. 仅在创建新标记
  3. 时部署到生产环境

    你可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

<强>解决

在githook post-receive中编写脚本,如:

process_ref() {
    oldrev=$(git rev-parse $1)
        newrev=$(git rev-parse $2)
        refname="$3"
    arr=(${refname//// })
    name="${arr[2]}"
    case "$refname" in
        refs/tags/*)
        if expr "$oldrev" : '00*$' >/dev/null
            then
            echo "tag name $name"
            sh trigger-script-on-creating-tag.sh        
        fi
        ;;
        refs/heads/*)
            echo "branch name $name"
            sh trigger-on-creating-branch-or-pushed-code.sh
        ;;
        *)
        echo "other"
        exit 1
    esac        
}

while read REF; do process_ref $REF; done