fix(deploy): expand sparse checkout so microservices deploy (run #120 fix) #103
2 changed files with 20 additions and 2 deletions
|
|
@ -48,6 +48,15 @@ jobs:
|
|||
|
||||
cd "$HOME/pms"
|
||||
|
||||
# ~/pms has historically been a SPARSE checkout limited to App/ (only the
|
||||
# app deployed), so the service folders + ecosystem.config.js never landed
|
||||
# on disk. Expand the working tree to the full repo, then re-materialise
|
||||
# the tag. Idempotent: a no-op once sparse is disabled / if never sparse.
|
||||
git sparse-checkout disable 2>/dev/null || true
|
||||
git config --unset core.sparseCheckout 2>/dev/null || true
|
||||
rm -f .git/info/sparse-checkout 2>/dev/null || true
|
||||
git checkout -f "refs/tags/${GITHUB_REF_NAME}"
|
||||
|
||||
# Pull only the few keys the services need out of the app's .env (the
|
||||
# single source of truth on the host). Never import PORT (each service's
|
||||
# port is fixed in ecosystem.config.js) or the runner's ephemeral
|
||||
|
|
@ -69,6 +78,11 @@ jobs:
|
|||
|
||||
# Create on first release, zero-downtime reload thereafter. The
|
||||
# ecosystem registers only services whose dirs exist.
|
||||
if [ ! -f ecosystem.config.js ]; then
|
||||
echo "ERROR: ecosystem.config.js absent in $(pwd) after checkout — sparse-checkout not expanded?"
|
||||
git sparse-checkout list 2>/dev/null || true
|
||||
exit 1
|
||||
fi
|
||||
pm2 startOrReload ecosystem.config.js --update-env
|
||||
pm2 save
|
||||
pm2 list
|
||||
|
|
|
|||
|
|
@ -181,9 +181,13 @@ progress under **Actions** on the Forgejo repo, or `pm2 logs forgejo-runner` on
|
|||
## Microservices (GstService / EpfoService / PdfService)
|
||||
|
||||
The standalone Playwright services are deployed by the **same `v*` tag** as the app.
|
||||
After the app restart, `deploy.yml`:
|
||||
`~/pms` was historically a **sparse checkout limited to `App/`**, so the service
|
||||
folders never landed on disk; the deploy now disables sparse-checkout (idempotent)
|
||||
to materialise the whole tree before managing the services. After the app restart,
|
||||
`deploy.yml`:
|
||||
|
||||
1. exports the few secrets the services need out of `~/pms/App/.env`
|
||||
1. expands the working tree (sparse-checkout disable) and exports the few secrets
|
||||
the services need out of `~/pms/App/.env`
|
||||
(`PDF_SERVICE_TOKEN`, `ALLOWED_ORIGIN`, `EPFO_LIVE`) — never `PORT` or the
|
||||
runner's ephemeral `FORGEJO_TOKEN`;
|
||||
2. for each service folder present, runs `npm install` + `npx playwright install
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue