1. All tests have been converted into regular command-line mocha tests (instead of running in the browser), and the deployment script has been changed to automatically fail any `--new` deployment which doesn't pass. 2. Several small class (e.g., `Logger`) have been moved into a common module, `crafting-guide-common` so that they may be shared between the client and server.
33 lines
813 B
Bash
Executable File
33 lines
813 B
Bash
Executable File
#!/bin/bash
|
|
|
|
export AWS_CONFIG_FILE="$HOME/Documents/CraftingGuide/aws.config"
|
|
|
|
ROOT="./dist"
|
|
SITE="crafting-guide.com"
|
|
TARGET=""
|
|
while [[ "$1" != "" ]]; do
|
|
case "$1" in
|
|
"--new") TARGET="new";;
|
|
"--promote") TARGET="promote";;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [[ "$TARGET" == "" ]]; then
|
|
echo "Please choose either --new or --promote for the target."
|
|
exit
|
|
fi
|
|
|
|
if [[ "$TARGET" == "new" ]]; then
|
|
find "$ROOT" -name ".DS_Store" | xargs rm
|
|
if grunt dist; then
|
|
echo "Preparing to upload to S3..."
|
|
s3cmd sync -r --delete-removed --add-header="cache-control:max-age=1800" "$ROOT/" "s3://new.$SITE/"
|
|
grunt clean build
|
|
else
|
|
echo "Aborting deployment"
|
|
fi
|
|
elif [[ "$TARGET" == "promote" ]]; then
|
|
aws s3 sync "s3://new.$SITE" "s3://$SITE" --delete
|
|
fi
|