App delivery methods

App delivery methods — start here

Two different units of code, delivered two ways. Ship the whole app — a complete, versioned project promoted through environments — or publish one reusable piece — a package the whole team installs and upgrades in one place. Pick by what you're shipping: the app, or a part of it.

Snapshots & pipelines — promote a complete, versioned project through dev → staging → prod to every place that runs it.

snapshot · pipelineDev instancethe golden one you build & testInstancesevery place it runs

Take the whole app — every flow, setting and dependency — as a versioned snapshot, then promote that one controlled build through pipeline stages to every place that should run it.

Use it when — You're shipping a complete application and every site should run the same, controlled version.

How it works — A pipeline promotes a snapshot dev → staging → production; each target is parameterised by its own env vars, so one controlled build serves every site.

Major components

  • Snapshot — the whole app, frozen as one versioned build
  • Pipeline — promotes that snapshot through dev → staging → prod
  • Dev instance — where you build and test the project
  • Remote / Hosted Instances — the fleet each snapshot rolls out to

Where config & data live depends on the kind of app you're shipping — a hardware app tied to a device, or a software app on the platform. See Hardware apps → and Software apps →.

More phases when you need them — a pipeline isn't limited to two stages. Add the phases your process needs — an extra staging tier, an approval gate, per-region rollouts — each one a controlled promotion of the same golden build:

Devgolden buildStagingProductionevery place it runs
Dev and prod in the same team? Every instance on a team reaches the same shared resources — the Team Broker, FlowFuse Tables, project links, any external Postgres. So a dev instance can read and write the very data prod depends on. Name and namespace resources per environment so test data and real data never mix: separate broker topic prefixes, table or schema names, and project-link targets, driven by each instance's env vars. See the Data plane →
Dev and prod on separate servers — dev in IT or the cloud, prod in OT or air-gapped? A GitHub bridge carries the same versioned code across the boundary. That's an architecture decision. See Architectures →