Skip to Content
TestingРозгортання застосунків

Розгортання застосунків

OpenFactory can turn supported Git repository into immutable app variant, boot replacement VM, health-check it, switch app route only after candidate healthy. Web services and static sites receive URL under https://<slug>.apps.openfactory.tech when public ingress path available.

Availability: deployment pipeline and public-route path validated end to end. Apps and deployment-history UI not finished, scheduled jobs rejected, WebSocket/SSE pass-through still needs dedicated production acceptance test. Treat returned URL as usable only after deployment status live and own request succeeds.

What a deployment does

  1. Resolves exact Git revision with account connected source credentials.
  2. Stages source without copying Git credentials or .git history into image.
  3. Packages app through OBS when selected and supported, or uses image build hook.
  4. Builds and boots fresh app-specific variant.
  5. Writes runtime environment values after boot, starts service, runs health check.
  6. Switches gateway route and removes previous VM only after new candidate healthy.

Live VM is deployment artifact. OpenFactory does not install, build, edit source inside it.

Deploy a registered app

Register source once:

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

Then queue deployment:

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

deploy_app asynchronous by default. Keep returned app_id, deploy_id, build_id, poll:

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

Deployment continues if MCP client times out. Do not submit duplicate deployment merely because wait ended. Check existing deployment first.

Success and failure

Successful queue response not proof app live. Require all following:

  • deployment status is live;
  • health-check stage passed;
  • returned URL serves expected revision; and
  • authenticated check succeeds when visibility is private.

On failure record failed stage, error, build_id, deploy_id. Because cutover health-gated, failed candidate should leave previous healthy route in place.

Build strategy

use_obs=true requires healthy, supported OBS path and fails closed if unavailable. use_obs=false selects image-build hook. Omitting argument lets service choose OBS for supported Node/static projects and fall back to hook.

Only public-prefix values may be baked into variant. Secrets and other runtime values belong in encrypted app environment and applied after boot.

Testing an app hosted elsewhere

You do not need deploy app through OpenFactory to test it. Any URL reachable from tester VM can be used with app scenario or autonomous walk.

Current limits

  • Web services and static sites supported; scheduled jobs not.
  • Management UI for app history pending, MCP status is source of truth.
  • Preview availability depends on app gateway, wildcard ingress, DNS, candidate VM.
  • Private previews owner-gated today; organization-member sharing not implemented.
  • Checkpoint rollback not yet migrated to immutable deployment model. See Checkpoints and rollback.