Запустить скрипт bash при создании тега ИЛИ в ветке git
Я хочу сделать автоматическое развертывание следующим образом:
- Развертывание в среде контроля качества при каждом нажатии кода
- Развертывание в производственной среде только при создании нового тега
Вы можете помочь с этим?
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