site/deploy.sh

27 lines
700 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
target="$1"
case "$target" in
"staging")
nix_package="schulischer-schabernack-staging"
directory="staging"
;;
"production")
if [ "$(git rev-parse --abbrev-ref HEAD)" != "master" ]; then
echo "Not on master, refusing to deploy to production."
exit 1
fi
nix_package="schulischer-schabernack"
directory="production"
;;
*)
echo "Invalid target ${SCHABERNACK_ENV}"
exit 1
;;
esac
nix build -o "result-${target}" -L ".#${nix_package}"
rsync -vacrzLP --delete --delay-updates "result-${target}/" "schabernack@yuzuru.sbruder.xyz:${directory}"