Skip to content
Snippets Groups Projects
Commit 7bcf59a9 authored by Brian Canini's avatar Brian Canini
Browse files

Merge branch 'lee5151' into 'main'

Add cron run to site deployment script

See merge request !63
parents b58cbfa5 add865ba
No related branches found
No related tags found
1 merge request!63Add cron run to site deployment script
#!/usr/bin/env bash #!/usr/bin/env bash
LIGHT_GREEN='\x1B[92m'; LIGHT_GREEN='\x1B[92m'
NC='\x1B[39m'; NC='\x1B[39m'
if [[ -z $1 ]]; then if [[ -z $1 ]]; then
echo; echo
echo "Usage: $0 <site.env>"; echo "Usage: $0 <site.env>"
echo; echo
echo; echo
fi fi
if [[ -z `which gdate` ]]; then if [[ -z $(which gdate) ]]; then
echo "'coreutils' homebrew package not installed..."; echo "'coreutils' homebrew package not installed..."
if [[ -z `which brew` ]]; then if [[ -z $(which brew) ]]; then
echo "Homebrew is NOT installed. Homebrew needs to be installed to proceed."; echo "Homebrew is NOT installed. Homebrew needs to be installed to proceed."
echo "Visit https://brew.sh/ for more information."; echo "Visit https://brew.sh/ for more information."
exit 1; exit 1
else else
echo "Attempting to install 'coreutils'..."; echo "Attempting to install 'coreutils'..."
brew install coreutils; brew install coreutils
fi fi
fi fi
SITE_NAME=${1%.*}; SITE_NAME=${1%.*}
ENV=${1##*.}; ENV=${1##*.}
shift; shift
echo; echo
echo -e "${LIGHT_GREEN}==================================================================================${NC}"; echo -e "${LIGHT_GREEN}==================================================================================${NC}"
printf "${LIGHT_GREEN}== %-30s ================================================${NC}\n" $SITE_NAME printf "${LIGHT_GREEN}== %-30s ================================================${NC}\n" $SITE_NAME
echo -e "${LIGHT_GREEN}==================================================================================${NC}"; echo -e "${LIGHT_GREEN}==================================================================================${NC}"
echo "SITE_NAME[$SITE_NAME] ENV[$ENV]"; echo "SITE_NAME[$SITE_NAME] ENV[$ENV]"
echo; 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 if [[ -z $BACKUP_DATE ]]; then
BACKUP_DATE=0; BACKUP_DATE=0
fi fi
BACKUP_DATE=${BACKUP_DATE%.*}; BACKUP_DATE=${BACKUP_DATE%.*}
echo "BACKUP_DATE: `gdate -d @$BACKUP_DATE`"; echo "BACKUP_DATE: $(gdate -d @$BACKUP_DATE)"
NOW=`gdate +%s -u`; NOW=$(gdate +%s -u)
BACKUP_AGE=`expr $NOW - $BACKUP_DATE`; BACKUP_AGE=$(expr $NOW - $BACKUP_DATE)
if [[ $BACKUP_AGE -gt 3600 ]]; then if [[ $BACKUP_AGE -gt 3600 ]]; then
echo "Backup is stale ($BACKUP_AGE seconds ago)..."; echo "Backup is stale ($BACKUP_AGE seconds ago)..."
echo "terminus backup:create $SITE_NAME.$ENV --keep-for=30 --element=db"; echo "terminus backup:create $SITE_NAME.$ENV --keep-for=30 --element=db"
terminus backup:create $SITE_NAME.$ENV --keep-for=30 --element=db; terminus backup:create $SITE_NAME.$ENV --keep-for=30 --element=db
else else
echo "Backup is less than an hour old.. skipping new backup."; echo "Backup is less than an hour old.. skipping new backup."
fi fi
echo; echo
if [[ $ENV == 'dev' ]]; then if [[ $ENV == 'dev' ]]; then
terminus site:upstream:clear-cache $SITE_NAME; terminus site:upstream:clear-cache $SITE_NAME
terminus upstream:updates:list $SITE_NAME.$ENV; terminus upstream:updates:list $SITE_NAME.$ENV
terminus upstream:updates:apply $SITE_NAME.$ENV --updatedb --accept-upstream; terminus upstream:updates:apply $SITE_NAME.$ENV --updatedb --accept-upstream
terminus remote:drupal $SITE_NAME.$ENV nar; terminus remote:drush "$SITE_NAME"."$ENV" ev 'node_access_rebuild();'
terminus remote:drush $SITE_NAME.$ENV cr; terminus remote:drush $SITE_NAME.$ENV cr
terminus env:clear-cache $SITE_NAME.$ENV; terminus env:clear-cache $SITE_NAME.$ENV
else else
if [[ -z $1 ]]; then if [[ -z $1 ]]; then
while [[ -z $DEPLOY_MSG ]]; do while [[ -z $DEPLOY_MSG ]]; do
echo; echo
read -p "Enter deployment message: " DEPLOY_MSG; read -p "Enter deployment message: " DEPLOY_MSG
echo; echo
done done
else 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 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 fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment