summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-01-22 13:20:05 -1000
committerPeter Stone <thepeterstone@gmail.com>2026-01-22 13:20:05 -1000
commitd7f3f89bbe5cf2b903192e257a5506b485641a95 (patch)
tree1faa2495feda2cb43d6625a5d966b8aa6665203f
parentb41d38e0161d49fac23c1d552622e7b8310b1c68 (diff)
run npm build in deploy script
-rwxr-xr-xdeploy.sh34
1 files changed, 21 insertions, 13 deletions
diff --git a/deploy.sh b/deploy.sh
index d819097..969d462 100755
--- a/deploy.sh
+++ b/deploy.sh
@@ -7,6 +7,9 @@ FQDN="doot.terst.org"
SITE_DIR="/site/${FQDN}"
SERVICE="task-dashboard@${FQDN}"
+echo "==> Building CSS..."
+npm run css:build
+
echo "==> Building binary (linux/amd64)..."
GOOS=linux GOARCH=amd64 go build -o app cmd/dashboard/main.go
@@ -16,6 +19,14 @@ git push ${REMOTE} master
echo "==> Uploading binary..."
scp app ${REMOTE}:${SITE_DIR}/app.new
+echo "==> Syncing assets and migrations..."
+# Sync static files (including built CSS which is git-ignored)
+rsync -avz --delete web/static/ ${REMOTE}:${SITE_DIR}/public/
+# Sync templates
+rsync -avz --delete web/templates/ ${REMOTE}:${SITE_DIR}/templates/
+# Sync migrations (required for app startup)
+rsync -avz --delete migrations/ ${REMOTE}:${SITE_DIR}/migrations/
+
echo "==> Deploying on ${REMOTE}..."
ssh ${REMOTE} bash -s << 'EOF'
set -e
@@ -31,19 +42,16 @@ systemctl stop ${SERVICE} || true
echo "Swapping binary..."
mv app.new app
-echo "Checking out latest code..."
-cd app-code
-GIT_WORK_TREE=${SITE_DIR}/checkout git checkout -f master 2>/dev/null || {
- mkdir -p ${SITE_DIR}/checkout
- GIT_WORK_TREE=${SITE_DIR}/checkout git checkout -f master
-}
-cd ${SITE_DIR}
-
-echo "Syncing static files..."
-rsync -a --delete checkout/web/static/ public/
-
-echo "Syncing templates..."
-rsync -a --delete checkout/web/templates/ templates/
+echo "Checking out latest code (backup)..."
+# We keep this for reference, but we deployed assets via rsync from local
+if [ -d "app-code" ]; then
+ cd app-code
+ GIT_WORK_TREE=${SITE_DIR}/checkout git checkout -f master 2>/dev/null || {
+ mkdir -p ${SITE_DIR}/checkout
+ GIT_WORK_TREE=${SITE_DIR}/checkout git checkout -f master
+ }
+ cd ${SITE_DIR}
+fi
echo "Setting permissions..."
chown -R www-data:www-data ${SITE_DIR}