| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
… gate - npm ci (not npm install) so the build always matches package-lock.json, plus a guard that aborts if the installed Next.js version drifts from package.json - ship a versioned release.tar.gz, extract into releases/<release>/ on EC2, install deps there, verify the Next.js version again, then flip the DataExFrontend symlink atomically - boot health check after activation; auto-rolls back to the previous release on failure - dev: promote-dev/rollback-dev jobs make smoke-tests an actual deploy gate — release is only marked last-known-good on a smoke-test pass, and reverted on a smoke-test failure - prod: no smoke-test job exists yet, so the boot health check is its only gate; release is marked good immediately after - add deploy/ec2-migrate-to-releases.sh, the one-time manual migration from a plain DataExFrontend directory to the releases/ layout
The app's actual runtime secrets file on EC2 is .env.local (inside DataExFrontend itself), not .env one level up in DataExchange/ - that one belongs to a separate docker-compose stack (DataExAuth/DataExBackend/ DataExKeycloak). Confirmed via `pm2 env` showing no secrets in PM2's own captured environment, and .env.local's size/presence matching .env.local.example. Without this fix the new releases/ workflow would have symlinked the wrong file and every release would boot with no runtime config.
…ality-gate # Conflicts: # .github/workflows/deploy-Dataspace.yml
PR #441's deploy just failed: appleboy/ssh-action's non-interactive shell never sources nvm, leaving PATH pointed at the ancient system node (v10). npm and pm2 are both scripts with a '#!/usr/bin/env node' shebang, so invoking them by absolute path wasn't enough - env still re-resolved node via PATH and picked v10, which can't parse npm v24's node: imports ('Cannot find module node:path'). Failed before touching the DataExFrontend symlink, so the previous release stayed live throughout - no downtime from this. Fix: export NODE_BIN onto PATH before any npm/pm2 invocation, in both the deploy workflow (build-and-deploy activation step, rollback-dev) and the migration script. Verified live on dev-cds that node/npm/pm2 all resolve to v24 with this PATH export.
| Back | FazBrowse Home | New Git URL |
Summary
Scope — dev only for now
This workflow file is shared between dev and main (environment-scoped only by GH Actions vars/secrets), but the two boxes are not equally ready:
Do not merge dev → main until prod has Node v24.13.0 installed via nvm and deploy/ec2-migrate-to-releases.sh has been run there. That's on the user to do, not something to automate/assume.
Test plan