我想进行如下自动部署:
- 在每次代码推送时部署到 QC 环境
- 仅在创建新标签时部署到生产环境
你能帮忙吗?
解决了
在 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