123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/bin/bash
- #
- # s3-publish-files - Deploy files to S3
- #
- # usage: s3-publish-files src dst distribution-id aws-profile
- #
- SRC=$1
- DST=$2
- DISTRIBUTION=$3
- AWS_PROFILE=$4
- if [ "${SRC}" = "" ] ; then
- echo "SRC is not provided"
- exit 255
- fi
- if [ "${DST}" = "" ] ; then
- echo "DST is not provided"
- exit 255
- fi
- if [ "${AWS_PROFILE}" = "" ] ; then
- export AWS_ACCESS_KEY_ID=${PUBLISH_KEYS_AWS_ACCESS}
- export AWS_SECRET_ACCESS_KEY=${PUBLISH_KEYS_AWS_SECRET}
- export AWS_DEFAULT_REGION=${PUBLISH_KEYS_AWS_REGION}
- export AWS_DEFAULT_PROFILE=${PUBLISH_KEYS_AWS_PROFILE}
- if [ "${AWS_ACCESS_KEY_ID}" = "" ] ; then
- echo "PUBLISH_KEYS_AWS_ACCESS is not defined"
- exit 255
- fi
- fi
- . $(dirname ${BASH_SOURCE[0]})/common
- echo aws s3 sync --no-progress ${SRC} "s3://${DST}/" --delete --profile "${AWS_PROFILE}"
- aws s3 sync --no-progress ${SRC} "s3://${DST}/" --delete --profile "${AWS_PROFILE}"
- if [ $? != 0 ] ; then
- echo "Cannot copy to S3"
- exit 255
- fi
- echo aws cloudfront create-invalidation --distribution-id ${DISTRIBUTION} --paths '/*' --profile "${AWS_PROFILE}"
- aws configure set preview.cloudfront true
- aws cloudfront create-invalidation --distribution-id ${DISTRIBUTION} --paths '/*' --profile "${AWS_PROFILE}"
- if [ $? != 0 ] ; then
- echo "Cannot create invalidation for distribution ${DISTRIBUTION} profile ${AWS_PROFILE}"
- exit 255
- fi
- exit 0
|