22 lines
902 B
Bash
22 lines
902 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Deploy the built extension to a STAGING Directus extensions dir. Never target prod.
|
||
|
|
# Usage: ./dev/deploy-staging.sh <ssh-host> <staging-extensions-root>
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
HOST="${1:?usage: deploy-staging.sh <ssh-host> <staging-extensions-root>}"
|
||
|
|
EXT_ROOT="${2:?usage: deploy-staging.sh <ssh-host> <staging-extensions-root>}"
|
||
|
|
NAME="directus-extension-generate-image-previews"
|
||
|
|
STAMP="$(date +%Y%m%d-%H%M%S)"
|
||
|
|
|
||
|
|
cd "$(dirname "$0")/.."
|
||
|
|
|
||
|
|
npm run build
|
||
|
|
|
||
|
|
ssh "$HOST" "mkdir -p '$EXT_ROOT/$NAME' && if [ -d '$EXT_ROOT/$NAME/dist' ]; then cp -a '$EXT_ROOT/$NAME/dist' '$EXT_ROOT/$NAME/dist.bak-$STAMP'; fi"
|
||
|
|
|
||
|
|
rsync -az --delete dist/ "$HOST:$EXT_ROOT/$NAME/dist/"
|
||
|
|
scp package.json "$HOST:$EXT_ROOT/$NAME/package.json"
|
||
|
|
|
||
|
|
echo "deployed to $HOST:$EXT_ROOT/$NAME (backup stamp: $STAMP)"
|
||
|
|
echo "restart staging Directus, then check: docker logs <staging-directus> | grep -i 'loaded extensions'"
|