diff options
author | Stephen Enders <senders@spotify.com> | 2019-01-21 14:24:39 -0500 |
---|---|---|
committer | Stephen Enders <senders@spotify.com> | 2019-01-21 14:24:39 -0500 |
commit | b8e61ad5c17082cfce6fd2945037f6df691d2627 (patch) | |
tree | 98700887639f180f2f5c5e26ed46a73a5783d867 /deploy.sh | |
parent | f8bc07f42f3866d32c777c0f3b6300fd99a4e2e2 (diff) |
Deploy test
Diffstat (limited to 'deploy.sh')
-rwxr-xr-x | deploy.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..3b07862 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +set -e + +# Stolen from: https://stackoverflow.com/questions/3878624/how-do-i-programmatically-determine-if-there-are-uncommitted-changes +require_clean_work_tree () { + # Update the index + git update-index -q --ignore-submodules --refresh + err=0 + + # Disallow unstaged changes in the working tree + if ! git diff-files --quiet --ignore-submodules -- + then + echo >&2 "cannot $1: you have unstaged changes." + git diff-files --name-status -r --ignore-submodules -- >&2 + err=1 + fi + + # Disallow uncommitted changes in the index + if ! git diff-index --cached --quiet HEAD --ignore-submodules -- + then + echo >&2 "cannot $1: your index contains uncommitted changes." + git diff-index --cached --name-status -r --ignore-submodules HEAD -- >&2 + err=1 + fi + + if [ $err = 1 ] + then + echo >&2 "Please commit or stash them." + exit 1 + fi +} + +## ## +# MAIN METHOD # +## ## +DATE=$(date -u -Iseconds) + +echo "Checking git for clean work tree" +require_clean_work_tree + +echo "Updating version file" +echo "Deployed on: $DATE" > www/version.info + +#aws s3 cp www s3://senders-io/ --recursive +echo "Deployed!" + +echo "Committing deploy" +git commit -am "Deployed: $DATE" +git tag -a $DATE -m "Deployed to s3 on $DATE" +echo "Done!" + |