Improve the deploy tool

This commit is contained in:
Cotes Chung 2020-09-01 11:53:14 +08:00
parent 232dd36b78
commit 252e33b502
1 changed files with 46 additions and 22 deletions

View File

@ -13,32 +13,56 @@ set -eu
PAGES_BRANCH="gh-pages" PAGES_BRANCH="gh-pages"
_no_branch=false _no_branch=false
_backup_dir="$(mktemp -d)"
if [[ -z $(git branch -av | grep "$PAGES_BRANCH") ]]; then init() {
if [[ -z $(git branch -av | grep "$PAGES_BRANCH") ]]; then
_no_branch=true _no_branch=true
git checkout -b "$PAGES_BRANCH" git checkout -b "$PAGES_BRANCH"
else else
git checkout "$PAGES_BRANCH" git checkout "$PAGES_BRANCH"
fi fi
}
mv _site ../ backup() {
mv .git ../ mv _site "$_backup_dir"
mv .git "$_backup_dir"
rm -rf ./* # When adding custom domain from Github website,
rm -rf .[^.] .??* # the CANME only exist on `gh-pages` branch
if [[ -f CNAME ]]; then
mv CNAME "$_backup_dir"
fi
}
mv ../_site/* . flush() {
mv ../.git . rm -rf ./*
rm -rf .[^.] .??*
git config --global user.name "GitHub Actions" shopt -s dotglob nullglob
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" mv "$_backup_dir"/* .
}
git update-ref -d HEAD deoply() {
git add -A git config --global user.name "GitHub Actions"
git commit -m "[Automation] Site update No.${GITHUB_RUN_NUMBER}" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
if [[ $_no_branch = true ]]; then git update-ref -d HEAD
git push -u origin $PAGES_BRANCH git add -A
else git commit -m "[Automation] Site update No.${GITHUB_RUN_NUMBER}"
if [[ $_no_branch = true ]]; then
git push -u origin "$PAGES_BRANCH"
else
git push -f git push -f
fi fi
}
main() {
init
backup
flush
deoply
}
main