summaryrefslogtreecommitdiff
path: root/scripts/publish-s3.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/publish-s3.sh')
-rwxr-xr-xscripts/publish-s3.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/scripts/publish-s3.sh b/scripts/publish-s3.sh
new file mode 100755
index 0000000..698424a
--- /dev/null
+++ b/scripts/publish-s3.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+set -e
+
+# This script is meant to be run automatically
+# as part of the jekyll-hook application.
+# https://github.com/developmentseed/jekyll-hook
+
+repo=$1
+branch=$2
+owner=$3
+giturl=$4
+source=$5
+build=$6
+
+# S3 bucket
+bucket=developmentseed.org.jekyll-hook
+
+if [[ "$repo" == *.github.* ]]
+then
+
+ # get list of sites
+ excludes=$(s3cmd ls s3://$bucket/_sites/|awk -F\/ 'BEGIN{ORS=" ";} {print "--exclude '\''" $NF "/*'\''"}')
+
+ # if root repo, sync --exclude _sites & sites
+ eval "s3cmd sync --delete-removed --exclude '_sites/*' $excludes $build/ s3://$bucket/"
+
+else
+
+ # add repo name to _sites
+ touch /tmp/$repo
+ s3cmd put /tmp/$repo s3://$bucket/_sites/
+ rm /tmp/$repo
+
+ # if not root repo, sync to subdirectory
+ s3cmd sync --delete-removed $build/ s3://$bucket/$repo/
+
+fi