From 21626270bee2fc8c1578bc4a2acda9be1ec8757a Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Thu, 17 Aug 2017 21:16:16 -0700 Subject: [PATCH] Improve deploy/reverting --- README.md | 9 +++++++++ deploy.sh | 17 ++++++++++++----- package.json | 2 +- revert.sh | 3 ++- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f543f0fa..becc43ee 100755 --- a/README.md +++ b/README.md @@ -31,6 +31,15 @@ Open `index.html` in your browser. Open `http://localhost:8080/webpack-dev-server/` in your browser. +## Deploying + + npm run deploy + +## Reverting + + npm run revert # Reverts quickly to the previous deploy + HASH= npm run deploy # Runs a new deploy at a given hashlike. + ## Reference - [skinspecs.pdf](http://members.xoom.it/skinart/tutorial/skinspecs..pdf) diff --git a/deploy.sh b/deploy.sh index f363ee8e..c1a3f20f 100755 --- a/deploy.sh +++ b/deploy.sh @@ -9,20 +9,27 @@ cd /var/www/jordaneldredge.com/ NEW_CLONE=repos/winamp2-js-`date +%s` # Do the clone -echo "Cloning Winamp2-js" -git clone git@github.com:captbaritone/winamp2-js.git $NEW_CLONE > /dev/null +echo "Cloning Winamp2-js..." +if [ -z "$HASH" ]; then + echo "Using master" + git clone --depth=1 git@github.com:captbaritone/winamp2-js.git $NEW_CLONE > /dev/null +else + git clone git@github.com:captbaritone/winamp2-js.git $NEW_CLONE > /dev/null + echo "Checking out hash $HASH" + ( cd $NEW_CLONE && git checkout --quiet $HASH ) +fi echo "Installing Node requirements" -( cd $NEW_CLONE && yarn install) +( cd $NEW_CLONE && yarn install ) echo "Run tests" ( cd $NEW_CLONE && yarn run test ) echo "Build the webpack bundle" -( cd $NEW_CLONE && yarn run build) +( cd $NEW_CLONE && yarn run build ) echo "Cleaning up node_modules/ to save space" -( cd $NEW_CLONE && rm -r node_modules) +( cd $NEW_CLONE && rm -r node_modules ) PREVIOUS=$(readlink -f public_html/projects/winamp2-js) diff --git a/package.json b/package.json index 4ba144b7..2812f830 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "test": "jest --coverage", "travis-tests": "jest --coverage && npm run lint && npm run build", "tdd": "jest --watch", - "deploy": "ssh jordaneldredge.com sh < deploy.sh", + "deploy": "ssh jordaneldredge.com HASH=$HASH sh < deploy.sh", "revert": "ssh jordaneldredge.com sh < revert.sh", "format": "prettier --write js/**/*.js css/**/*.css webpack.config.js webpack.production.config.js" }, diff --git a/revert.sh b/revert.sh index c663d739..11462b27 100755 --- a/revert.sh +++ b/revert.sh @@ -7,7 +7,8 @@ echo "Reverting..." cd /var/www/jordaneldredge.com/ +PREVIOUS=$(readlink -f repos/previous) echo "Rolling back to $PREVIOUS" -ln -snf `pwd`repos/previous public_html/projects/winamp2-js +ln -snf $PREVIOUS public_html/projects/winamp2-js echo "Done!"