diff --git a/scripts/deploy-site-env.sh b/scripts/deploy-site-env.sh index 3afc0bc807ecfb43b3083796e2a7afa9550a4a12..21f2013114904be8f1f2de4c9aa8f9e02f2f1aab 100755 --- a/scripts/deploy-site-env.sh +++ b/scripts/deploy-site-env.sh @@ -1,77 +1,81 @@ #!/usr/bin/env bash -LIGHT_GREEN='\x1B[92m'; -NC='\x1B[39m'; +LIGHT_GREEN='\x1B[92m' +NC='\x1B[39m' if [[ -z $1 ]]; then - echo; - echo "Usage: $0 <site.env>"; - echo; - echo; + echo + echo "Usage: $0 <site.env>" + echo + echo fi -if [[ -z `which gdate` ]]; then - echo "'coreutils' homebrew package not installed..."; - if [[ -z `which brew` ]]; then - echo "Homebrew is NOT installed. Homebrew needs to be installed to proceed."; - echo "Visit https://brew.sh/ for more information."; - exit 1; +if [[ -z $(which gdate) ]]; then + echo "'coreutils' homebrew package not installed..." + if [[ -z $(which brew) ]]; then + echo "Homebrew is NOT installed. Homebrew needs to be installed to proceed." + echo "Visit https://brew.sh/ for more information." + exit 1 else - echo "Attempting to install 'coreutils'..."; - brew install coreutils; + echo "Attempting to install 'coreutils'..." + brew install coreutils fi fi -SITE_NAME=${1%.*}; -ENV=${1##*.}; -shift; +SITE_NAME=${1%.*} +ENV=${1##*.} +shift -echo; -echo -e "${LIGHT_GREEN}==================================================================================${NC}"; +echo +echo -e "${LIGHT_GREEN}==================================================================================${NC}" printf "${LIGHT_GREEN}== %-30s ================================================${NC}\n" $SITE_NAME -echo -e "${LIGHT_GREEN}==================================================================================${NC}"; -echo "SITE_NAME[$SITE_NAME] ENV[$ENV]"; -echo; +echo -e "${LIGHT_GREEN}==================================================================================${NC}" +echo "SITE_NAME[$SITE_NAME] ENV[$ENV]" +echo -echo "Checking backup... "; +echo "Checking backup... " -BACKUP_DATE=`terminus backup:info --field=date --format=string $SITE_NAME.$ENV`; +BACKUP_DATE=$(terminus backup:info --field=date --format=string $SITE_NAME.$ENV) if [[ -z $BACKUP_DATE ]]; then - BACKUP_DATE=0; + BACKUP_DATE=0 fi -BACKUP_DATE=${BACKUP_DATE%.*}; -echo "BACKUP_DATE: `gdate -d @$BACKUP_DATE`"; +BACKUP_DATE=${BACKUP_DATE%.*} +echo "BACKUP_DATE: $(gdate -d @$BACKUP_DATE)" -NOW=`gdate +%s -u`; -BACKUP_AGE=`expr $NOW - $BACKUP_DATE`; +NOW=$(gdate +%s -u) +BACKUP_AGE=$(expr $NOW - $BACKUP_DATE) if [[ $BACKUP_AGE -gt 3600 ]]; then - echo "Backup is stale ($BACKUP_AGE seconds ago)..."; - echo "terminus backup:create $SITE_NAME.$ENV --keep-for=30 --element=db"; - terminus backup:create $SITE_NAME.$ENV --keep-for=30 --element=db; + echo "Backup is stale ($BACKUP_AGE seconds ago)..." + echo "terminus backup:create $SITE_NAME.$ENV --keep-for=30 --element=db" + terminus backup:create $SITE_NAME.$ENV --keep-for=30 --element=db else - echo "Backup is less than an hour old.. skipping new backup."; + echo "Backup is less than an hour old.. skipping new backup." fi -echo; +echo if [[ $ENV == 'dev' ]]; then - terminus site:upstream:clear-cache $SITE_NAME; - terminus upstream:updates:list $SITE_NAME.$ENV; - terminus upstream:updates:apply $SITE_NAME.$ENV --updatedb --accept-upstream; - terminus remote:drupal $SITE_NAME.$ENV nar; - terminus remote:drush $SITE_NAME.$ENV cr; - terminus env:clear-cache $SITE_NAME.$ENV; + terminus site:upstream:clear-cache $SITE_NAME + terminus upstream:updates:list $SITE_NAME.$ENV + terminus upstream:updates:apply $SITE_NAME.$ENV --updatedb --accept-upstream + terminus remote:drush "$SITE_NAME"."$ENV" ev 'node_access_rebuild();' + terminus remote:drush $SITE_NAME.$ENV cr + terminus env:clear-cache $SITE_NAME.$ENV else if [[ -z $1 ]]; then while [[ -z $DEPLOY_MSG ]]; do - echo; - read -p "Enter deployment message: " DEPLOY_MSG; - echo; + echo + read -p "Enter deployment message: " DEPLOY_MSG + echo done else - DEPLOY_MSG=$@; + DEPLOY_MSG=$@ + fi + terminus env:deploy $SITE_NAME.$ENV --updatedb --note="$DEPLOY_MSG" + terminus remote:drush "$SITE_NAME"."$ENV" ev 'node_access_rebuild();' + terminus remote:drush $SITE_NAME.$ENV cr + terminus env:clear-cache $SITE_NAME.$ENV + if [[ $ENV == 'live' ]]; then + echo "Re-rendering the People Directory view cache" + terminus remote:drush -- "$SITE_NAME.$ENV" cron-run imagecache_render_cron --force fi - terminus env:deploy $SITE_NAME.$ENV --updatedb --note="$DEPLOY_MSG"; - terminus remote:drupal $SITE_NAME.$ENV nar; - terminus remote:drush $SITE_NAME.$ENV cr; - terminus env:clear-cache $SITE_NAME.$ENV; fi