+ ADD s3 sync

This commit is contained in:
felegy
2022-08-30 08:29:50 +02:00
parent 4ec8bdc471
commit 20ad4c8ede
5 changed files with 520 additions and 281 deletions

View File

59
.dev/ops/s3-sync.sh Executable file
View File

@@ -0,0 +1,59 @@
#!/usr/bin/env bash
set -e
USAGE="sync-s3-uploads.sh <source env> <target env>"
MY_PATH="`dirname \"$0\"`"
UPLOADS_DIR="$(cd "$MY_PATH" && cd "../../web/app/uploads" && pwd)"
AWS_ACCESS_KEY_ID=$(heroku config:get AWS_ACCESS_KEY_ID)
export AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=$(heroku config:get AWS_SECRET_ACCESS_KEY)
export AWS_SECRET_ACCESS_KEY
AWS_REGION=$(heroku config:get AWS_REGION)
export AWS_REGION
USE_CDN=$(heroku config:get USE_CDN)
USE_CDN=${USE_CDN-false}
BLOG_SLUG=$(heroku config:get BLOG_SLUG)
BLOG_SLUG=${BLOG_SLUG-hvg-blog}
if [[ $USE_CDN == true ]]; then
FOLDER="$BLOG_SLUG/uploads"
else
FOLDER="uploads"
fi
# Check args
if [ -z "$1" ] || [ -z "$2" ]; then
echo $USAGE >&2;
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1;
fi
# Get bucket urls
if [[ $1 == 'local' ]]; then
SOURCE_URL=$UPLOADS_DIR
else
SOURCE_URL=s3://`heroku config:get BUCKET_NAME -r $1`/$FOLDER;
fi;
if [[ $2 == 'local' ]]; then
TARGET_URL=$UPLOADS_DIR
else
TARGET_URL=s3://`heroku config:get BUCKET_NAME -r $2`/$FOLDER;
fi;
echo "You are about to copy all files from $SOURCE_URL to $TARGET_URL";
read -p "Are you sure you want to do this? (y/n)
";
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1;
fi
# Use aws-cli to synchronize buckets
aws s3 sync $SOURCE_URL $TARGET_URL
echo "Success!"
exit 0

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
alias d-composer="docker-compose run --rm wordpress composer" alias d-composer="docker-compose run --rm wordpress composer"
alias d-wp="docker-compose run --rm wordpress wp" alias d-wp="docker-compose run --rm wordpress wp"
alias d-s3-sync="docker-compose run --rm wordpress .dev/ops/s3-sync.sh"
alias d-heroku="docker-compose run --rm --entrypoint=heroku wordpress" alias d-heroku="docker-compose run --rm --entrypoint=heroku wordpress"
alias d-bash="docker-compose run --rm --entrypoint=bash wordpress -l" alias d-bash="docker-compose run --rm --entrypoint=bash wordpress -l"
alias dc-build="docker-compose build --pull --no-cache" alias dc-build="docker-compose build --pull --no-cache"

View File

@@ -10,6 +10,10 @@ function d-wp {
dc run --rm wordpress wp $args dc run --rm wordpress wp $args
} }
function d-s3-sync {
dc run --rm wordpress .dev/ops/s3-sync.sh $args
}
function d-heroku { function d-heroku {
dc run --rm --entrypoint=heroku wordpress $args dc run --rm --entrypoint=heroku wordpress $args
} }

737
composer.lock generated

File diff suppressed because it is too large Load Diff