App Deployment
OpenFactory kann ein unterstütztes Git-Repository in immutable app variant verwandeln,
replacement VM booten, health-checken und app route erst nach healthy candidate umschalten.
Web services und static sites erhalten URL unter https://<slug>.apps.openfactory.tech,
wenn public ingress path verfügbar ist.
Verfügbarkeit: deployment pipeline und public-route path wurden end to end validiert. Apps und deployment-history UI sind nicht fertig, scheduled jobs werden rejected und WebSocket/SSE pass-through braucht dedicated production acceptance test. Behandeln Sie returned URL als usable nur nach deployment status
liveund eigenem erfolgreichen Request.
Was ein Deployment tut
- Löst exakte Git revision mit account connected source credentials auf.
- Staged source ohne Git credentials oder
.githistory ins image zu kopieren. - Packaged app durch OBS when selected and supported, oder image build hook.
- Baut und bootet fresh app-specific variant.
- Schreibt runtime environment values after boot, startet service, führt health check aus.
- Schaltet gateway route und entfernt previous VM erst nach healthy new candidate.
Live VM ist deployment artifact. OpenFactory installiert, baut oder editiert source nicht inside it.
Registered app deployen
Source einmal registrieren:
create_app(
name="my-shop",
git_url="https://github.com/example/my-shop",
branch="main",
deployment_type="web-service",
port=3000,
visibility="private"
)Dann deployment queuen:
deploy_app(app_id="<app-id>")deploy_app ist default asynchronous. Returned app_id, deploy_id und build_id behalten
und pollen:
get_app_deploy_status(app_id="<app-id>", deploy_id="<deploy-id>")Deployment continues wenn MCP client times out. Kein duplicate deployment submiten nur weil wait ended. Existing deployment zuerst prüfen.
Erfolg und Fehler
Successful queue response ist kein Nachweis, dass app live ist. All das verlangen:
- deployment status ist
live; - health-check stage passed;
- returned URL serves expected revision; und
- authenticated check succeeds when visibility
private.
Bei failure failed stage, error, build_id und deploy_id recorden. Weil cutover
health-gated ist, soll failed candidate previous healthy route in place lassen.
Build strategy
use_obs=true braucht healthy supported OBS path und fails closed wenn unavailable.
use_obs=false wählt image-build hook. Omitting argument lässt service OBS für supported
Node/static projects wählen und hook fallback.
Nur public-prefix values dürfen in variant gebacken werden. Secrets und andere runtime values gehören in encrypted app environment und werden after boot applied.
App hosted elsewhere testen
Sie müssen app nicht durch OpenFactory deployen zum Testen. Jede URL reachable vom tester VM kann mit app scenario oder autonomous walk genutzt werden.
Aktuelle Limits
- Web services und static sites supported; scheduled jobs nicht.
- Management UI für app history pending, MCP status ist source of truth.
- Preview availability hängt von app gateway, wildcard ingress, DNS und candidate VM ab.
- Private previews sind owner-gated today; organization-member sharing nicht implementiert.
- Checkpoint rollback noch nicht auf immutable deployment model migriert. Siehe Checkpoints and rollback.