git-자동화 스크립트
이제 우리는git의 자동 스크롤 스크립트를 작성합니다. - 버전 번호를 통해 코드를 스크롤합니다.
cat /usr/local/src/git.sh
#!/bin/bash
#author:xiaozhagn
mail_user="[email protected]"
WORK_DIR=/learngit/
REPLOY="zrh"
SRC_DIR=/data #
IP=172.25.0.31
[email protected]:xiaozhagn/zrh.git
send_mail () {
echo "$1" | mail -s "Gits current version" $mail_user
}
git_pull(){
if [ ! -d $WORK_DIR ];then
mkdir $WORK_DIR
fi
}
git_add_tag(){
git_pull
tag_num=$(($(git tag | wc -l)+1))
tag_deploy="v$tag_num.0"
git tag -a $tag_deploy -m "$tag_deploy"
git push -f
git push --tag
}
git_deploy(){
rsync -vzrtopg --progress $WORK_DIR/$REPLOY/* $IP:$SRC_DIR
cd $WORK_DIR/$REPLOY
tag_status=$(git tag | tail -n 1)
echo "$tag_status"
send_mail $tag_status
ssh 172.25.0.31 ln -s $SRC_DIR /web/
}
git_reset(){
PS3="Select a number: "
cd $WORK_DIR/$REPLOY
while true ; do
read -p "Does reset your version yes/no": input
if [ $input == yes ]; then
select rollback in "quick rollback" "rollback you need version"; do
case $rollback in
"quick rollback")
git reset --hard HEAD^
git push -f
tag1_status=$(git tag | tail -n 1)
send_mail $tag1_status
echo $tag1_status
quit
;;
"rollback you need version" )
list_version=$(git tag)
select version in $list_version ; do
gti reset --hart $version
git push -f
tag2_status=$(git tag | tail -n 1)
send_mail $tag2_status
echo $tag2_status
break
done ;;
esac
done
else
if [ $input == no ]; then
exit
fi
if [ $input == * ] ; then
echo "Please yes or on"
fi
fi
done
}
line(){
echo "Please echo \"main\""
echo "If you check your script file please input \"git_add_tag/git_deploy/git_reset again\" "
}
line
main(){
git_add_tag
git_deploy
git_reset
}
$1
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Unity3D 시작하기(rolling ball) - 학습 노트만약 이 방법이 성공하지 못하면 각 구성 요소를 분류하여 다운로드할 수 있습니다. 항목은 3D를 선택하고 가져온 리소스는 None으로 선택할 수 있습니다. Scene: 각 게임마다 몇 개의 장면으로 구성되어 있으며,...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.