App-implementering
OpenFactory kan gøre et understøttet Git-repository om til en immutable app variant,
starte en erstatnings-VM, køre health-check og skifte app-ruten først når kandidaten
er sund. Web services og static sites får en URL under
https://<slug>.apps.openfactory.tech, når public ingress path er tilgængelig.
Tilgængelighed: deployment pipeline og public-route path er valideret end to end. UI til Apps og deployment-historik er ikke færdig, scheduled jobs afvises, og WebSocket/SSE pass-through mangler stadig et dedikeret production acceptance test. Betragt en returneret URL som brugbar først når deployment status er
liveog dit eget request lykkes.
Hvad en deployment gør
- Fastlægger den præcise Git-revision med kontots connected source credentials.
- Stager source uden at kopiere Git credentials eller
.git-historik ind i imaget. - Pakker appen via OBS når valgt og understøttet, eller bruger image build hook.
- Bygger og starter en frisk app-specifik variant.
- Skriver runtime environment values efter boot, starter tjenesten og kører health check.
- Skifter gateway-ruten og fjerner den forrige VM først når den nye kandidat er sund.
Live-VM’en er et deployment artifact. OpenFactory installerer, bygger eller redigerer ikke source i VM’en.
Implementer en registreret app
Registrer source én gang:
create_app(
name="my-shop",
git_url="https://github.com/example/my-shop",
branch="main",
deployment_type="web-service",
port=3000,
visibility="private"
)Kø derefter en deployment:
deploy_app(app_id="<app-id>")deploy_app er asynkron som standard. Gem returnerede app_id, deploy_id og
build_id, og poll:
get_app_deploy_status(app_id="<app-id>", deploy_id="<deploy-id>")Deployment fortsætter, hvis en MCP-klient får timeout. Indsend ikke en dobbelt deployment blot fordi en ventetid sluttede. Tjek den eksisterende deployment først.
Succes og fejl
Et vellykket kø-svar beviser ikke, at appen er live. Kræv alt følgende:
- deployment status er
live; - health-check-trinnet bestod;
- den returnerede URL serverer den forventede revision; og
- et autentificeret tjek lykkes, når visibility er
private.
Ved fejl skal du notere mislykket stage, error, build_id og deploy_id. Fordi
cutover er health-gated, bør en mislykket kandidat lade den forrige sunde rute blive.
Build-strategi
use_obs=true kræver en sund, understøttet OBS-sti og fails closed, hvis stien mangler.
use_obs=false vælger image-build hook. Udelader du argumentet, vælger tjenesten OBS
for understøttede Node/static-projekter og falder tilbage til hooken.
Kun public-prefix-værdier må bages ind i en variant. Secrets og andre runtime values hører til i encrypted app environment og anvendes efter boot.
Test en app hostet andetsteds
Du behøver ikke at implementere en app via OpenFactory for at teste den. Enhver URL, der kan nås fra tester VM, kan bruges med et app scenario eller en autonomous walk.
Aktuelle begrænsninger
- Web services og static sites understøttes; scheduled jobs gør ikke.
- Management-UI til app-historik mangler; MCP-status er source of truth.
- Preview-tilgængelighed afhænger af app gateway, wildcard ingress, DNS og kandidat-VM.
- Private previews er owner-gated i dag; deling med organization members er ikke implementeret.
- Checkpoint rollback er endnu ikke migreret til denne immutable deployment-model. Se Checkpoints and rollback.