Add standalone artifact deploy workflow
This commit is contained in:
19
deploy/scripts/upload-linux-release.sh
Executable file
19
deploy/scripts/upload-linux-release.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ "$#" -lt 1 ]; then
|
||||
echo "Usage: $0 <user@host> [remote_base_dir]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TARGET="$1"
|
||||
REMOTE_BASE_DIR="${2:-/var/www/abelbirdnest-web}"
|
||||
ARTIFACT_NAME="${ARTIFACT_NAME:-abelbirdnest-release.tar.gz}"
|
||||
RELEASE_NAME="${RELEASE_NAME:-$(date +%Y%m%d-%H%M%S)}"
|
||||
REMOTE_RELEASE_DIR="$REMOTE_BASE_DIR/releases/$RELEASE_NAME"
|
||||
|
||||
scp "$ARTIFACT_NAME" "$TARGET:$REMOTE_BASE_DIR/"
|
||||
|
||||
ssh "$TARGET" "mkdir -p '$REMOTE_RELEASE_DIR' && tar -xzf '$REMOTE_BASE_DIR/$ARTIFACT_NAME' -C '$REMOTE_RELEASE_DIR' && ln -sfn '$REMOTE_RELEASE_DIR' '$REMOTE_BASE_DIR/current'"
|
||||
|
||||
echo "Uploaded to $TARGET:$REMOTE_RELEASE_DIR"
|
||||
Reference in New Issue
Block a user