summaryrefslogtreecommitdiff
path: root/publish.sh
blob: 3f0b43618b32f9bb19f23d9f09a31e9649673449 (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
38
39
40
#!/bin/bash

# upload to my nginx server

set -eo pipefail

cd "$(dirname "$0")"

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

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

if [ -z "$SRV_ADDR" ] || [ -z "$SRV_USER" ]; then
    echo SRV_ADDR? SRV_USER?
    exit 1
fi

set -x

zola build
tar -czf "$tarball_name" -C public/ .
scp "$tarball_name" "$SRV_USER@$SRV_ADDR:/tmp/$tarball_name"

ssh "$SRV_USER@$SRV_ADDR" <<EOF
    set -ex
    sudo rm -rf "$remote_target"/
    sudo mkdir -p "$remote_target"
    sudo tar -xzf "/tmp/$tarball_name" -C "$remote_target"
    sudo rm "/tmp/$tarball_name"
    echo "Unpacking completed."
EOF
echo done

rm -f "$tarball_name"