1

我想进行如下自动部署:

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

你能帮忙吗?

4

1 回答 1

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
于 2015-12-23T05:28:39.233 回答