Skip to Content
TestingImplementarea aplicației

Implementarea aplicației

OpenFactory poate transforma un depozit Git suportat într-un immutable app variant, porni un VM de înlocuire, rula un health-check și comuta ruta aplicației doar după ce candidatul este sănătos. Web services și static sites primesc un URL sub https://<slug>.apps.openfactory.tech când public ingress path este disponibil.

Disponibilitate: deployment pipeline și public-route path au fost validate end to end. UI-ul Apps și al istoricului de implementări nu este gata, scheduled jobs sunt respinse, iar WebSocket/SSE pass-through încă necesită un production acceptance test dedicat. Tratați URL-ul returnat ca utilizabil doar după deployment status live și după ce propria cerere reușește.

Ce face o implementare

  1. Rezolvă revizia Git exactă cu connected source credentials ale contului.
  2. Pregătește source fără a copia Git credentials sau istoricul .git în imagine.
  3. Împachetează aplicația prin OBS când este selectat și suportat, sau folosește image build hook.
  4. Construiește și pornește un app-specific variant proaspăt.
  5. Scrie runtime environment values după boot, pornește serviciul și rulează health check.
  6. Comută ruta gateway și elimină VM-ul anterior doar după ce noul candidat este sănătos.

VM-ul live este un deployment artifact. OpenFactory nu instalează, nu construiește și nu editează source în interior.

Implementați o aplicație înregistrată

Înregistrați source o singură dată:

create_app( name="my-shop", git_url="https://github.com/example/my-shop", branch="main", deployment_type="web-service", port=3000, visibility="private" )

Apoi puneți implementarea în coadă:

deploy_app(app_id="<app-id>")

deploy_app este asincron implicit. Păstrați app_id, deploy_id și build_id returnate și interogați periodic:

get_app_deploy_status(app_id="<app-id>", deploy_id="<deploy-id>")

Implementarea continuă dacă un client MCP expiră. Nu trimiteți o implementare duplicată doar pentru că așteptarea s-a încheiat. Verificați mai întâi implementarea existentă.

Succes și eșec

Un răspuns reușit din coadă nu dovedește că aplicația este live. Cereți tot ce urmează:

  • deployment status este live;
  • etapa health-check a trecut;
  • URL-ul returnat servește revizia așteptată; și
  • verificarea autentificată reușește când visibility este private.

La eșec, înregistrați stage, error, build_id și deploy_id eșuate. Deoarece cutover este health-gated, un candidat eșuat ar trebui să lase ruta sănătoasă anterioară neschimbată.

Strategie build

use_obs=true necesită o cale OBS sănătoasă și suportată și eșuează închis (fails closed) dacă calea nu este disponibilă. use_obs=false selectează image-build hook. Omiterea argumentului lasă serviciul să aleagă OBS pentru proiecte Node/static suportate și să revină la hook.

Doar valori public-prefix pot fi integrate într-un variant. Secrets și alte runtime values aparțin encrypted app environment și se aplică după boot.

Testarea unei aplicații găzduite în altă parte

Nu trebuie să implementați aplicația prin OpenFactory ca să o testați. Orice URL accesibil din tester VM poate fi folosit cu un scenariu de aplicație sau un autonomous walk.

Limite actuale

  • Web services și static sites sunt suportate; scheduled jobs nu.
  • UI-ul de management pentru istoricul aplicațiilor lipsește, statusul MCP este source of truth.
  • Disponibilitatea preview depinde de app gateway, wildcard ingress, DNS și candidatul VM.
  • Private previews sunt owner-gated astăzi; partajarea cu membrii organizației nu este implementată.
  • Checkpoint rollback nu a fost încă migrat la acest immutable deployment model. Vedeți Checkpoints and rollback.

Legături