Files
momentry_portal/deploy.sh

34 lines
782 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
REMOTE_USER="accusys"
REMOTE_HOST="m5max128.local"
REMOTE_DIR="~/momentry_portal"
if ! git diff --quiet --cached; then
echo ":: Unstaged changes detected. Stage or stash them first."
echo " git add -A && git stash"
exit 1
fi
if [ -n "$(git status --porcelain)" ]; then
echo ":: Uncommitted changes found."
if [ $# -ge 1 ]; then
git add -A && git commit -m "$*"
else
git add -A && git commit -m "deploy: $(date '+%Y-%m-%d %H:%M')"
fi
fi
echo ":: Pushing to Gitea..."
git push
echo ":: Deploying to ${REMOTE_HOST}..."
ssh "${REMOTE_USER}@${REMOTE_HOST}" \
"export PATH=\"\$HOME/.local/bin:\$PATH\" && eval \"\$(fnm env --use-on-cd)\" && \
cd ${REMOTE_DIR} && \
git pull && \
npm run build"
echo ":: Done"