Deployment
Captisio ships three artifacts per tenant: a branded admin web build, a branded end-user web build, and the Android + iOS apps. Most pieces are wired up automatically — this page lists what each one does and how to trigger a new release.
Schemas + rules — nothing to deploy
Field definitions, wizards, and calibrations are live in Firestore. As soon as you mark a new wizard or calibration Active in Captis Admin, the next form-fill session uses it. There’s no build step or deploy — changes are visible within seconds.
Admin web build
The Captis Admin console lives at
admin.onsite-systems.com. Builds are produced from
the master branch via the
deploy-admin GitHub Actions workflow.
-
Push to
master→ the workflow runs Flutter web build → deploys to Firebase Hosting targetadminon thecaptis-adminproject. -
To deploy manually:
firebase deploy --only hosting:admin --project captis-admin
End-user web build (captis_app)
Per-tenant end-user web builds are produced by the
build-captis-app-web workflow and staged via
stage-release-web. Each tenant gets its own
Hosting site (one site per tenant id) with the tenant’s
branding baked into the build.
Android app build
The build-android workflow runs Flutter against
apps/captis_app. Pass
app_name as a workflow input to brand the launcher.
- APKs (testing) and AABs (Play Store) are uploaded as workflow artifacts.
- For the Play Store, AABs go through the upload flow on the Play Console. Make sure the Data Safety form matches what the app actually collects (Captisio defaults to PII + photos).
iOS app build
iOS builds are produced locally on a Mac (or via a future remote runner). The captis_app iOS target is configured for App Store distribution; tenant branding (icon, launcher name) ships per tenant.
Firestore rules + indexes
Rules and index definitions are deployed automatically from
master via the deploy-firebase-rules
workflow whenever firestore.rules,
storage.rules, or
firestore.indexes.json change. No manual deploy
needed.
To redeploy manually:
firebase deploy --only firestore:rules,storage --project captis-admin
Marketing site
This site (onsite-systems.com) is deployed by the
deploy-marketing workflow whenever files in
marketing/ change.
Manual deploy:
firebase deploy --only hosting:marketing --project captis-admin
Custom domains
-
admin.onsite-systems.com→ admin Hosting site. -
{tenantId}.onsite-systems.comor BYO domain → per-tenant end-user Hosting site. -
onsite-systems.com+www→ marketing Hosting site.