Prepare Alpine artifact deploy workflow

This commit is contained in:
2026-05-26 06:44:12 +07:00
parent f0ceebbbc8
commit 76b37cd4c8
11 changed files with 288 additions and 48 deletions

View File

@ -7,11 +7,22 @@ if [ "$#" -lt 1 ]; then
fi
TARGET="$1"
REMOTE_BASE_DIR="${2:-/var/www/abelbirdnest-web}"
ARTIFACT_NAME="${ARTIFACT_NAME:-abelbirdnest-release.tar.gz}"
REMOTE_BASE_DIR="${2:-/var/www/abelbirdnest-web/AbelBirdNest-Stock}"
ARTIFACT_NAME="${ARTIFACT_NAME:-$(ls -t abelbirdnest-release-*.tar.gz 2>/dev/null | head -n 1)}"
RELEASE_NAME="${RELEASE_NAME:-$(date +%Y%m%d-%H%M%S)}"
REMOTE_RELEASE_DIR="$REMOTE_BASE_DIR/releases/$RELEASE_NAME"
if [ -z "$ARTIFACT_NAME" ]; then
echo "No artifact found. Run ./deploy/scripts/build-linux-release.sh first." >&2
exit 1
fi
if [ ! -f "$ARTIFACT_NAME" ]; then
echo "Artifact not found: $ARTIFACT_NAME" >&2
echo "Run ./deploy/scripts/build-linux-release.sh first." >&2
exit 1
fi
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'"