summaryrefslogtreecommitdiff
path: root/publish.sh
blob: 22dde09ed2bf2eaf850a4fd6bb9a287998103f74 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash

set -eo pipefail

cd "$(dirname "$0")"

VPS_HOST="${VPS_HOST:-}"
VPS_USER="${VPS_USER:-root}"
remote_target="/var/www/html"
tarball_name="site.tar.gz"

die() {
    echo -e ERR "$*" >&2
    exit 1
}

if [ -z "$VPS_HOST" ] || [ -z "$VPS_USER" ]; then
    echo VPS_HOST? VPS_USER?
    exit 1
fi

set -x

zola build
tar -czf "$tarball_name" -C public/ .
scp "$tarball_name" "$VPS_USER@$VPS_HOST:$REMOTE_TMP/$tarball_name"

ssh "$VPS_USER@$VPS_HOST" <<EOF
    set -ex  # stop on any error
    sudo mkdir -p "$remote_target"
    sudo rm -rf "$remote_target"/*
    sudo tar -xzf "$REMOTE_TMP/$tarball_name" -C "$remote_target"
    sudo rm "$REMOTE_TMP/$tarball_name"
    echo "Unpacking completed."
EOF

rm -f "$tarball_name"