-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
deploy.sh
86 lines (62 loc) · 1.46 KB
/
deploy.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/bash
domain="puremail.cyou"
repo="deploy"
branch="gh-pages"
if [[ $(git status -s) ]]
then
echo "The working directory is dirty. Please commit any pending changes."
exit 1;
fi
if [[ -d "resources" ]]
then
echo "Deleting old resources..."
rm -rf resources
fi
if [[ -d "_site" ]]
then
echo "Deleting old publication..."
rm -rf _site
fi
mkdir _site
if [[ -d ".git/worktrees/_site/" ]]
then
echo "Delating .git/worktrees/_site/"
git worktree prune
git worktree remove -f _site
rm -rf .git/worktrees/_site/
fi
if [[ `git br|grep $branch` ]]
then
git br -D $branch
fi
echo "Checking out $branch branch into public..."
git worktree add -b $branch _site $repo/$branch
rm -rf _site/*
set -e
# echo "Cleaning up the environment..."
# yarn clean
# echo "Generating site (minified HTML)"
# hugo --minify --cleanDestinationDir --gc
# echo "Generating site (minified HTML)..."
# npm run build:prod:clean
echo "Generating site..."
npm run build
cd _site
if [[ -n $domain ]]
then
echo "Adding CNAME"
echo $domain > CNAME
touch .nojekyll
fi
# paths=("${(@f)$(find . -name '_*')}")
# unset 'paths[-1]'
# include=""
# for i ("$paths[@]") include="$include,\"$i\""
# includes="includes: [$include]"
# include="include: [$include]"
# echo $include > _config.yml
# echo $includes >> _config.yml
echo "Updating $branch branch"
git add --all && git commit --allow-empty -m "Publishing to $branch" && git push -f $repo $branch
cd ..
# rm -f .hugo_build.lock