deploy/deploy-nginx

44 lines
1.4 KiB
Plaintext
Raw Normal View History

2021-04-20 21:52:35 +02:00
#!/usr/local/bin/bash
2022-03-16 09:02:27 +01:00
# Usage: `deploy-nginx $target`
#
# Copies nginx configuration files from the repository in the current directory to `$target`, and then reloads nginx.
#
# This script is specifically for https://git.fwdekker.com/fwdekker.com/nginx-config.
2021-04-20 21:52:35 +02:00
repo_dir="$(pwd)"
repo_name="$(basename -s .git "$repo_dir")"
dst_dir="$1"
2021-04-20 21:52:35 +02:00
tmp_dir="$HOME/tmp/git/$repo_name-$(date +%s)"
2022-02-25 20:38:27 +01:00
echo "[[ Deploy ]] nginx($repo_name)"
2021-04-20 21:52:35 +02:00
echo "[[ Deploy ]] src: '$repo_dir'"
echo "[[ Deploy ]] dst: '$dst_dir'"
2021-04-20 21:52:35 +02:00
echo "[[ Deploy ]] tmp: '$tmp_dir'"
if test -e "$tmp_dir"; then
echo "[[ Deploy ]] Directory '$tmp_dir' already exists, stopping deployment."
exit
fi
echo "[[ Deploy ]] Creating directories '$dst_dir' and '$tmp_dir'."
mkdir -p "$dst_dir" "$tmp_dir"
2021-04-20 21:52:35 +02:00
echo "[[ Deploy ]] Cloning repository at '$repo_dir' into '$tmp_dir'."
git clone "$repo_dir" "$tmp_dir"
2021-04-20 22:21:34 +02:00
echo "[[ Deploy ]] Removing directories '$dst_dir/sites-available', '$dst_dir/sites-enabled', and '$dst_dir/snippets', and file '$dst_dir/nginx.conf'."
rm -rf "$dst_dir/sites-available" "$dst_dir/sites-enabled" "$dst_dir/snippets" "$dst_dir/nginx.conf"
2021-04-20 21:52:35 +02:00
echo "[[ Deploy ]] Copying files from '$tmp_dir' to '$dst_dir'."
chmod -R g+w "$tmp_dir"
2021-04-20 22:24:23 +02:00
cp -RP "$tmp_dir/sites-available" "$tmp_dir/sites-enabled" "$tmp_dir/snippets" "$tmp_dir/nginx.conf" "$dst_dir"
2021-04-20 21:52:35 +02:00
echo "[[ Deploy ]] Reloading nginx configurations"
sudo service nginx reload
echo "[[ Deploy ]] Deleting '$tmp_dir'."
rm -rf "$tmp_dir"