Skip to content
Snippets Groups Projects
Commit cecc9309 authored by bcweaver's avatar bcweaver
Browse files

Add parallel deployment scripts

parent 6ca75574
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env bash
LIGHT_GREEN='\x1B[92m';
NC='\x1B[39m';
if [[ -z $1 ]]; then
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://https://brew.sh/ for more information.";
exit 1;
else
echo "Attempting to install 'coreutils'...";
brew install coreutils;
fi
fi
SITE_NAME=${1%.*};
ENV=${1##*.};
shift;
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 "Checking backup... ";
BACKUP_DATE=`terminus backup:info --field=date --format=string $SITE_NAME.$ENV`;
BACKUP_DATE=${BACKUP_DATE%.*};
echo "BACKUP_DATE: `gdate -d @$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;
else
echo "Backup is less than an hour old.. skipping new backup.";
fi
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;
else
if [[ -z $1 ]]; then
while [[ -z $DEPLOY_MSG ]]; do
echo;
read -p "Enter deployment message: " DEPLOY_MSG;
echo;
done
else
DEPLOY_MSG=$@;
fi
terminus env:deploy $SITE_NAME.$ENV --updatedb --cc --note="$DEPLOY_MSG";
fi
#!/usr/bin/env bash
if [[ -z `which parallel` || -z `which tmux` || -z `which gdate` ]]; then
echo "Either 'parallel' or 'tmux' is not installed...";
if [[ -z `which brew` ]]; then
echo "Homebrew is NOT installed. Homebrew needs to be installed to proceed.";
echo "Visit https://https://brew.sh/ for more information.";
exit 1;
else
echo "Attempting to install parallel, tmux, coreutils...";
brew install parallel tmux coreutils;
fi
fi
if [[ -z $1 ]]; then
echo; echo "Usage: $0 <env> [Deploy message]";
echo; echo;
exit 1;
fi
ENV=$1;
shift;
if [[ $ENV == 'test' || $ENV == 'live' ]]; then
if [[ -z $1 ]]; then
while [[ -z $DEPLOY_MSG ]]; do
echo;
read -p "Enter deployment message: " DEPLOY_MSG;
echo;
done
else
DEPLOY_MSG=$@;
fi
fi
NOW=`date +%Y%m%d_%H%M`;
LOG_DIR="deploy-$ENV-$NOW";
mkdir $LOG_DIR;
echo "LOG_DIR: $LOG_DIR";
terminus org:site:list ohio-state-arts-and-sciences --upstream=b9baf7af-eb2c-4db5-81e6-32d3d9042572 --tag=StandardSite --fields=name --format=string > $LOG_DIR/site_list.txt;
parallel --delay 0.1 --tmuxpane --fg -a $LOG_DIR/site_list.txt "scripts/deploy-site-env.sh {}.$ENV $DEPLOY_MSG 2>&1 | tee $LOG_DIR/{}.log";
echo; echo; echo "Sleeping for 11 seconds..."; echo; echo;
sleep 11;
reset;
# wait;
cd $LOG_DIR;
wc -l * | sort -n | tee line-counts.txt;
cd ..;
echo; echo; echo "Sleeping for 11 more seconds..."; echo; echo;
sleep 11;
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