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
- Rezolvă revizia Git exactă cu connected source credentials ale contului.
- Pregătește source fără a copia Git credentials sau istoricul
.gitîn imagine. - Împachetează aplicația prin OBS când este selectat și suportat, sau folosește image build hook.
- Construiește și pornește un app-specific variant proaspăt.
- Scrie runtime environment values după boot, pornește serviciul și rulează health check.
- 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.