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/joshstock.in/deploy" |
7 | GIT_DIR="/home/ubuntu/joshstock.in/project.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 | git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f $BRANCH |
17 | echo "Installing required Python modules" |
18 | sudo python3 -m pip install -r $TARGET/requirements.txt |
19 | echo "Compiling root HTML" |
20 | sudo $TARGET/root/compile.py $HTML_OUT |
21 | echo "Copying nginx configuration" |
22 | sudo $TARGET/nginx/copynginx prod |
23 | echo "Copying resty-gitweb configuration" |
24 | sudo cp $TARGET/resty-gitweb.yaml /etc/resty-gitweb.yaml |
25 | else |
26 | echo "Ref $ref received. Doing nothing: only the ${BRANCH} branch may be deployed on this server." |
27 | fi |
28 | done |
29 |
|