This repository was archived by the owner on Mar 26, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathautodeploy-common.sh
executable file
·83 lines (64 loc) · 2.11 KB
/
autodeploy-common.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
#!/bin/sh
#set -x
REAL_PATH=$($(which dirname) $($(which readlink) -f "$0"))
LIB="${REAL_PATH}/lib"
REPO_BARE=$(pwd)
REPO_SHORT=$(echo $REPO_BARE | awk 'BEGIN {FS="/" } ; { print $NF }' | sed 's/\.git$//')
ECHO_PREFIX='***'
if [ "${SKIP_GIT}" != 'true' ]; then
OWNER=$(git config hooks.deployOwner)
WWW_US=$(git config hooks.deployWuser)
WWW_GR=$(git config hooks.deployWgroup)
WEB_ROOT=$(git config hooks.deployRoot)
SUBDIR=$(git config hooks.deploySubdir)
CONF_OVERWRITE=$(git config hooks.deployConfOverwrite)
FRAMEWORK_VERSION=$(git config hooks.deployFrameworkVersion)
RELOAD_SERVER=$(git config hooks.deployReloadServer)
RELOAD_CMD=$(git config hooks.deployReloadCMD)
CLEAN_VARNISH=$(git config hooks.deployCleanVarnish)
VARNISH_ADM_OPTS=$(git config hooks.deployVarnishiAdmOpts)
TAG_DEPLOYS=$(git config hooks.deployTagDeploys)
TAG=$(git config hooks.deployTag)
FIX_PERMS=$(git config hooks.deployFixPerms)
fi
#defaults
: ${OWNER:="root"}
: ${WWW_US:="www-data"}
: ${WWW_GR:="www-data"}
: ${WEB_ROOT:="/var/www"}
: ${RELOAD_SERVER:='false'}
: ${RELOAD_CMD:='/usr/sbin/apache2ctl graceful'}
: ${CLEAN_VARNISH:='false'}
: ${VARNISH_ADM_OPTS:='-T :6082 -S /etc/varnish/secret'}
: ${TAG_DEPLOYS:='false'}
: ${FIX_PERMS:='true'}
#expects a subdir of the repository.
: ${APP_SUBDIR:=''}
if [ "${APP_SUBDIR}" != "" ]; then
APP_SUBDIR="/${APP_SUBDIR}"
fi
if [ "${TAG_DEPLOYS}" = 'true' ]; then
: ${TAG:="deploy-${DEP_NAME}"}
else
TAG=''
fi
SITE_NAME=${DEP_NAME}
LOG_FILE="${REAL_PATH}/log/${SITE_NAME}_autodeploy.log"
DST_DIR="${WEB_ROOT}/${SITE_NAME}/${SUBDIR}"
DST_DIR=${DST_DIR%/}
TMP_DIR="/tmp/deploy_${SITE_NAME}.tmp$$"
restartServerIfNecesary() {
if [ "${RELOAD_SERVER}" = 'true' ]; then
echo "${ECHO_PREFIX} Restarting server with command: ${RELOAD_CMD}"
eval ${RELOAD_CMD}
fi
return 0
}
cleanVarnishIfNecesary() {
if [ "${CLEAN_VARNISH}" = 'true' ]; then
VARNISH_CMD="varnishadm ${VARNISH_ADM_OPTS} \"ban req.http.host ~ \"${SITE_NAME}\" && req.url ~ \"^/\"\""
echo "${ECHO_PREFIX} Cleaning Varnish server with command: ${VARNISH_CMD}"
eval ${VARNISH_CMD}
fi
return 0
}