Appdistribution
OpenFactory kan göra om ett Git-repo som stöds till en immutable app variant,
starta en ersättnings-VM, köra health-check och byta app-rutten först när
kandidaten är frisk. Web services och static sites får en URL under
https://<slug>.apps.openfactory.tech när public ingress path finns.
Tillgänglighet: deployment pipeline och public-route path har validerats end to end. UI för Apps och deployment-historik är inte klar, scheduled jobs avvisas och WebSocket/SSE pass-through behöver fortfarande ett dedikerat production acceptance test. Behandla en returnerad URL som användbar först när deployment status är
liveoch ditt eget anrop lyckas.
Vad en deployment gör
- Fastställer exakt Git-revision med kontots connected source credentials.
- Stagar source utan att kopiera Git credentials eller
.git-historik in i imagen. - Paketerar appen via OBS när det är valt och stöds, eller använder image build hook.
- Bygger och startar en ny app-specifik variant.
- Skriver runtime environment values efter boot, startar tjänsten och kör health check.
- Byter gateway-rutt och tar bort föregående VM först när den nya kandidaten är frisk.
Live-VM:en är ett deployment artifact. OpenFactory installerar, bygger eller redigerar inte source i VM:en.
Distribuera en registrerad app
Registrera source en gång:
create_app(
name="my-shop",
git_url="https://github.com/example/my-shop",
branch="main",
deployment_type="web-service",
port=3000,
visibility="private"
)Köa sedan en deployment:
deploy_app(app_id="<app-id>")deploy_app är asynkron som standard. Spara returnerade app_id, deploy_id och
build_id, och polla:
get_app_deploy_status(app_id="<app-id>", deploy_id="<deploy-id>")Deployment fortsätter om en MCP-klient får timeout. Skicka inte en dubbel deployment bara för att en väntan avslutades. Kontrollera befintlig deployment först.
Framgång och misslyckande
Ett lyckat kö-svar bevisar inte att appen är live. Kräv allt följande:
- deployment status är
live; - health-check-steget lyckades;
- den returnerade URL:en serverar förväntad revision; och
- en autentiserad kontroll lyckas när visibility är
private.
Vid misslyckande, spara misslyckad stage, error, build_id och deploy_id.
Eftersom cutover är health-gated ska en misslyckad kandidat lämna föregående friska rutt kvar.
Build-strategi
use_obs=true kräver en frisk, stödd OBS-väg och fails closed om vägen saknas.
use_obs=false väljer image-build hook. Utelämnar du argumentet väljer tjänsten OBS
för stödda Node/static-projekt och faller tillbaka till hooken.
Endast public-prefix-värden får bakas in i en variant. Secrets och andra runtime values hör hemma i encrypted app environment och appliceras efter boot.
Testa en app som hostas någon annanstans
Du behöver inte distribuera en app via OpenFactory för att testa den. Varje URL som nås från tester VM kan användas med ett app scenario eller en autonomous walk.
Nuvarande begränsningar
- Web services och static sites stöds; scheduled jobs stöds inte.
- Management-UI för app-historik saknas; MCP-status är source of truth.
- Preview-tillgänglighet beror på app gateway, wildcard ingress, DNS och kandidat-VM.
- Private previews är owner-gated idag; delning med organization members är inte implementerat.
- Checkpoint rollback har ännu inte migrerats till denna immutable deployment-modell. Se Checkpoints and rollback.