Запустить скрипт bash при создании тега ИЛИ в ветке git

Я хочу сделать автоматическое развертывание следующим образом:

  1. Развертывание в среде контроля качества при каждом нажатии кода
  2. Развертывание в производственной среде только при создании нового тега

Вы можете помочь с этим?

1 ответ

Решение

решаемая

В гитхук 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
Другие вопросы по тегам