Skip to Content
TestingApp-implementering

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 live og dit eget request lykkes.

Hvad en deployment gør

  1. Fastlægger den præcise Git-revision med kontots connected source credentials.
  2. Stager source uden at kopiere Git credentials eller .git-historik ind i imaget.
  3. Pakker appen via OBS når valgt og understøttet, eller bruger image build hook.
  4. Bygger og starter en frisk app-specifik variant.
  5. Skriver runtime environment values efter boot, starter tjenesten og kører health check.
  6. 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.

Relateret