blokmap/deploy.sh

28 lines
722 B
Bash
Executable File

#!/bin/bash
set -euo pipefail
declare dir=$(pwd)
declare timestamp=$(date +%Y-%m-%d_%H%M)
declare release_dir="$dir/releases/$timestamp"
# Pull latest revision
echo "-> Pulling latest release"
# Apparently, some systems put "up to date", while others put "up-to-date"
git pull | grep 'Already up[- ]to[- ]date.' && echo "No updates, exiting..." && exit 20
# Create release dir and copy sources to that dir
echo "-> This release will be stored in $release_dir"
mkdir -p "$release_dir"
cp -ar src/* "$release_dir"
# Link this relase to $current
echo "-> Linking $dir/current to $release_dir"
rm "$dir/current" || true # This may fail
ln -sf "$dir/releases/$timestamp" "$dir/current"
echo "-> Deployed succesfully!"