Articles on: Deployment & Domains

CI/CD & Builds

v1.7.0 — 2026-01-09

Added

  • Properties inspection status: properties now show Due Soon/Overdue status in the Properties table.

Fixed

  • Jobs Map: fixed cluster rendering bug for very large result sets.

Upgrade notes

  • No action required.

The repo's package.json defines build as the Vite production build.[](https://github.com/thejdmckinney/job-flow-hub-71/blob/main/package.json)

package


  • Native sync (Capacitor) — after building the web assets:
npx cap sync
# Then open native projects to run builds/signing:
npx cap open ios # macOS + Xcode
# or open Android Studio for Android

The README documents the npx cap flow for native builds.[](https://github.com/thejdmckinney/job-flow-hub-71/blob/main/README.md)

README



  1. Checkout the repo.
  2. Install dependencies: npm ci.
  3. Lint & test: npm run lint and any unit/integration tests.
  4. Build web assets: npm run build.
  5. Artifact storage: Store build artifacts (if your host consumes them) or allow Lovable/host to run the build.
  6. Native artifact step (optional): If producing signed Android (AAB) or iOS artifacts in CI:
    • For Android: run Gradle assemble with signed keystore (use secure secrets for keystore).
    • For iOS: you need macOS runners, Xcode and provisioning profiles; produce signed IPA via Xcode build/archive (or use a code-signing service).
  1. Deploy: Push artifacts to Lovable or host, or trigger a deploy job that updates the production hosting service.


CI considerations & secrets

  • Inject secrets (Mapbox env vars for staging/preview and any other public env vars) in CI environment variables. Do not put secret tokens in the repository. Use your CI’s secret store to pass sensitive values to the build or server runtime. See the Env & Secrets article for details.


Native build caveats

  • iOS builds require macOS. Use macOS runners (self-hosted or hosted) for archiving and signing iOS artifacts.
  • Capacitor server URL: When using a native live-reload workflow, remember to set the server.url appropriately for live reload or production builds — update it before npx cap sync and signing.[](https://github.com/thejdmckinney/job-flow-hub-71/blob/main/README.md)

README


Deployment variants

  • Preview builds: Trigger builds for pull requests and upload previews or use Lovable previews so reviewers can validate changes.
  • Staging / Production: Use separate env configurations and per-tenant tokens for staging vs production to avoid shared-rate-limit or accidental data exposure.


Post-deploy checks

  • Smoke tests: Run automated smoke tests: sign-in, create sample job, property geocode, PWA install check.
  • Monitoring: Ensure Sentry, analytics, and other monitoring are enabled and capture runtime errors.[](https://github.com/thejdmckinney/job-flow-hub-71/blob/main/package.json)

package


Example GitHub Actions snippet (very small)

name: Build and Publish
on:
push:
tags: ["v*.*.*"]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: 18
- run: npm ci
- run: npm run lint
- run: npm run build
- run: # upload artifacts or trigger publish step

Note: Expand the snippet to add tests, native steps (macOS), and secure secrets usage for signing and publishing.

---

If you’d like I can:
- Create these five files in `docs/deployment-and-domains/` and open a PR in `job-flow-hub-71`, or
- Produce a one-page printable deployment checklist that combines all five sections into a single PDF-ready page.

Which would you prefer next?

Updated on: 10/01/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!