34 lines
782 B
Bash
Executable File
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"
|