1 | #!/bin/bash |
2 |
|
3 | # this file is automatically updated, although the pre-receive hook must be placed manually: |
4 | # 'pre-receive' -> '.git/hooks/pre-receive' |
5 |
|
6 | TARGET="/home/ubuntu/joshstockin-deploy" |
7 | GIT_DIR="/home/ubuntu/joshstockin.git" |
8 | BRANCH="master" |
9 | HTML_OUT="/var/www/html" |
10 |
|
11 | while read oldrev newrev ref |
12 | do |
13 | if [ "$ref" = "refs/heads/$BRANCH" ]; |
14 | then |
15 | echo "Ref $ref received. Deploying ${BRANCH} branch to production..." |
16 | mkdir $TARGET |
17 | git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f $BRANCH |
18 | echo "Installing required Python modules" |
19 | sudo python3 -m pip install -r $TARGET/requirements.txt |
20 | echo "Compiling root HTML" |
21 | sudo $TARGET/root/compile.py $HTML_OUT |
22 | echo "Installing nginx configuration" |
23 | sudo $TARGET/nginx/copynginx prod |
24 | echo "Installing resty-gitweb configuration" |
25 | sudo install $TARGET/resty-gitweb.yaml /etc/resty-gitweb.yaml |
26 | echo "Removing deploy directory" |
27 | rm -rf $TARGET |
28 | else |
29 | echo "Ref $ref received. Doing nothing: only the ${BRANCH} branch may be deployed on this server." |
30 | fi |
31 | done |
32 |
|