33
44# Validate the required environment variables
55validate () {
6- : ${SERVER_TYPE^^ :? " SERVER_TYPE variable missing from environment variables." }
6+ : ${SERVER_TYPE:? " SERVER_TYPE variable missing from environment variables." }
77 : ${SSH_PRIVATE_KEY:? " SSH_PRIVATE_KEY variable missing from environment variables." }
88 : ${SERVER_ID:? " SERVER_ID variable missing from environment variables." }
99 REMOTE_PATH=" ${REMOTE_PATH:- " " } "
1010 SRC_PATH=" ${SRC_PATH:- " ." } "
1111 FLAGS=" ${FLAGS:- " -azvrhi --inplace --exclude='.*'" } "
12- PHP_LINT=" ${PHP_LINT^^ :- " FALSE " } "
13- CACHE_CLEAR=" ${CACHE_CLEAR^^ :- " FALSE " } "
12+ PHP_LINT=" ${PHP_LINT:- " false " } "
13+ CACHE_CLEAR=" ${CACHE_CLEAR:- " false " } "
1414 SCRIPT=" ${SCRIPT:- " " } "
1515}
1616
1717# Set up environment variables
18- setup_env () {
19- case " ${SERVER_TYPE} " in
18+ init () {
19+ case " ${SERVER_TYPE^^ } " in
2020 PRESSABLE)
2121 SSH_HOST=" ssh.pressable.com"
2222 SERVER_BASE_PATH=" ~/htdocs"
@@ -32,8 +32,12 @@ setup_env() {
3232 esac
3333 SSH_USER=" ${SERVER_ID} @${SSH_HOST} "
3434 SERVER_DEST=" ${SSH_USER} :${SERVER_BASE_PATH} /${REMOTE_PATH} "
35+
3536 parse_flags " $FLAGS "
37+
3638 print_info
39+ setup_ssh
40+ check_lint
3741}
3842
3943# Print deployment info
@@ -77,7 +81,7 @@ setup_ssh() {
7781
7882# Check PHP linting
7983check_lint () {
80- if [ " ${PHP_LINT} " == " TRUE" ]; then
84+ if [ " ${PHP_LINT^^ } " == " TRUE" ]; then
8185 echo " Starting PHP linting..."
8286 find " ${SRC_PATH} " -name " *.php" -type f -print0 | while IFS= read -r -d ' ' file; do
8387 php -l " $file "
@@ -112,7 +116,7 @@ sync_files() {
112116 check_cache
113117
114118 # Execute post-deploy script
115- ssh ${SSH_SETTINGS} " ${SSH_USER} " " ${SCRIPT_COMMAND} ${CACHE_CLEAR } "
119+ ssh ${SSH_SETTINGS} " ${SSH_USER} " " ${SCRIPT_COMMAND} ${CACHE_COMMAND } "
116120
117121 # Close SSH multiplex connection
118122 ssh -O exit -o ControlPath=" ${SSH_PATH} /ctl/%C" " ${SSH_USER} "
@@ -136,7 +140,7 @@ check_script() {
136140
137141# Check cache clearing command
138142check_cache () {
139- if [ " ${CACHE_CLEAR} " == " TRUE" ]; then
143+ if [ " ${CACHE_CLEAR^^ } " == " TRUE" ]; then
140144 if [ " ${SERVER_TYPE^^} " == " PRESSABLE" ]; then
141145 CACHE_COMMAND=" && wp --skip-plugins --skip-themes cache flush"
142146 elif [ " ${SERVER_TYPE^^} " == " WPENGINE" ]; then
@@ -146,14 +150,12 @@ check_cache() {
146150 fi
147151
148152 echo " Cache command: " ${CACHE_COMMAND}
149- elif [ " ${CACHE_CLEAR} " == " FALSE " ] ; then
153+ else
150154 CACHE_COMMAND=" "
151155 fi
152156}
153157
154158# Main execution
155159validate
156- setup_env
157- setup_ssh
158- check_lint
160+ init
159161sync_files
0 commit comments