diff options
Diffstat (limited to 'deploy.sh')
| -rwxr-xr-x | deploy.sh | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/deploy.sh b/deploy.sh deleted file mode 100755 index a201d82..0000000 --- a/deploy.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash -set -e - -# Configuration -REMOTE="titanium" -FQDN="doot.terst.org" -SITE_DIR="/site/${FQDN}" -SERVICE="task-dashboard@${FQDN}" - -echo "==> Building CSS..." -npm run css:build - -echo "==> Building binary (linux/amd64)..." -BUILD_COMMIT=$(git rev-parse --short HEAD) -BUILD_TIME=$(date -u '+%Y-%m-%dT%H:%M:%SZ') -LDFLAGS="-X main.buildCommit=${BUILD_COMMIT} -X main.buildTime=${BUILD_TIME}" -GOOS=linux GOARCH=amd64 go build -ldflags "$LDFLAGS" -o app cmd/dashboard/main.go - -echo "==> Pushing code to ${REMOTE}..." -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 -FQDN="doot.terst.org" -SITE_DIR="/site/${FQDN}" -SERVICE="task-dashboard@${FQDN}" - -cd ${SITE_DIR} - -echo "Stopping service..." -systemctl stop ${SERVICE} || true - -echo "Swapping binary..." -mv app.new app - -echo "Setting permissions..." -chown -R www-data:www-data ${SITE_DIR} -find ${SITE_DIR} -type d -exec chmod 755 {} \; -find ${SITE_DIR} -type f -exec chmod 644 {} \; -chmod +x ${SITE_DIR}/app -chmod 600 ${SITE_DIR}/.env 2>/dev/null || true - -echo "Starting service..." -systemctl start ${SERVICE} -sleep 1 -systemctl status ${SERVICE} --no-pager -l - -echo "Deploy complete!" -EOF - -rm -f app -echo "==> Done!" |
