在 git 中创建 tag/branch 时触发 bash 脚本

Trigger bash script when creating tag/branch in git

我想按如下方式进行自动部署:

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

你能帮忙吗?

已解决

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

process_ref() {
    oldrev=$(git rev-parse )
        newrev=$(git rev-parse )
        refname=""
    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