Use a faster middleman deploy

This commit is contained in:
Seth Vargo 2015-09-20 14:03:38 -04:00
parent 0b05dbeb21
commit 85c66d4749
1 changed files with 28 additions and 7 deletions

View File

@ -1,17 +1,38 @@
#!/bin/bash
# Set the tmpdir
if [ -z "$TMPDIR" ]; then
TMPDIR="/tmp"
fi
# Create a temporary build dir and make sure we clean it up. For
# debugging, comment out the trap line.
DEPLOY=`mktemp -d $TMPDIR/consul-www-XXXXXX`
trap "rm -rf $DEPLOY" INT TERM EXIT
# Get the parent directory of where this script is.
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
DIR="$( cd -P "$( dirname "$SOURCE" )/.." && pwd )"
# Copy into tmpdir
cp -R $DIR/website/ $DEPLOY/
# Change into that directory
cd $DIR
pushd $DEPLOY &>/dev/null
# Add the git remote if it doesn't exist
git remote | grep heroku || {
git remote add heroku git@heroku.com:consul-www.git
}
# Ignore some stuff
touch .gitignore
echo ".sass-cache" >> .gitignore
echo "build" >> .gitignore
# Push the subtree (force)
git push heroku `git subtree split --prefix website master`:master --force
# Add everything
git init -q .
git add .
git commit -q -m "Deploy by $USER"
git remote add heroku git@heroku.com:consul-www.git
git push -f heroku master
# Go back to our root
popd &>/dev/null