> For the complete documentation index, see [llms.txt](https://docs.uptiq.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.uptiq.ai/ai-workbench-qore/console/app-builder/deploy.md).

# Deploy

Publish tested app versions with required production configuration.

Deploy an app when its current version is ready for users. Review the live preview and test results first.

## Publish an app

{% hint style="warning" %}
Configure the database first. Without a database, the app can't be published. See [Connect the database](#connect-the-database).
{% endhint %}

{% stepper %}
{% step %}

### Confirm you want to publish

Select **Publish** in the app workspace. **Publish your Application** asks you to review your connected services and confirm you are ready to go live. Once published, your latest changes are deployed to your users.

Select **Publish App** to continue, or **Cancel**.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-96d03c602661cbd6e058a6d8ff93b06ad5f46482%2Fqore_app-builder_how-to-publish-confirm_rounded_shadow.png?alt=media" alt="The Publish your Application dialog, with Cancel and Publish App buttons"><figcaption><p>Publish your Application.</p></figcaption></figure>
{% endstep %}

{% step %}

### Choose where each service runs

**Publish App - Deployment** lists each service of the app under **Deployment** — for example **Web** and **API** — with a menu beside each, such as **Google Kubernetes Engine**. Choose where each one runs, then select **Continue**.

You can change this later. Republishing redeploys the affected services.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-250bf35d8c91b6d6fbac4d5049c5914adf67fb3d%2Fqore_app-builder_how-to-publish-deployment_rounded_shadow.png?alt=media" alt="The Publish App - Deployment dialog, with Web and API each set to Google Kubernetes Engine, and a Continue button"><figcaption><p>Choosing where each service runs.</p></figcaption></figure>
{% endstep %}

{% step %}

### Complete the publish checklist

The **Publish Checklist** lists the configurations you connected in preview. The published app needs them to work correctly. You can update them later in app settings.

* **Database** — **Required**. When its status is **Not Configured**, select **Connect**. See [Connect the database](#connect-the-database).
* **External Services Used** — each service, for **Preview** and **Publish**. With none, it reads *No external services connected.*
* **Environment Variables** — each variable, for **Preview** and **Publish**. With none, it reads *No environment variables configured.*

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-7376d7a3fdca6674e4ad13ee58fd8a27d10de080%2Fqore_app-builder_how-to-publish-checklist-not-configured_rounded_shadow.png?alt=media" alt="The Publish Checklist: Database (Required) with Uptiq Managed DB Not Configured and a Connect action, and External Services Used with no services connected"><figcaption><p>The publish checklist, before the database is connected.</p></figcaption></figure>

When the database is connected, its status reads **Configured** and the action changes to **Manage**.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-079667529002a6b39ee6181172923b64abedf704%2Fqore_app-builder_how-to-publish-checklist-configured_rounded_shadow.png?alt=media" alt="The Publish Checklist with Uptiq Managed DB Configured and a Manage action"><figcaption><p>The publish checklist, with the database configured.</p></figcaption></figure>

To change the database, domains, integrations, or environment variables, use [App Config](/ai-workbench-qore/console/app-builder/build/app-config.md).
{% endstep %}

{% step %}

### Publish

Select **Publish**. **Publishing App** shows each service — such as **API** and **Web** — as **In Progress**, and the **Publish** button reads **Publishing**. The process may take a few minutes. You're notified as soon as the app is published and ready to use.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-f868da70d1a776481eba402b5969b10ad705927d%2Fqore_app-builder_how-to-publishing-progress_rounded_shadow.png?alt=media" alt="The Publishing App dialog, with API and Web In Progress, and the Publish button reading Publishing"><figcaption><p>Publishing in progress.</p></figcaption></figure>
{% endstep %}
{% endstepper %}

### Publish a new version

When the app has been published before, **Publish** opens a panel with the last published version, its date, and the live URL. Open or copy the URL, or select **Manage Domains** to manage its domain. Review the checklist, then select **Publish Changes**. The platform deploys the current version and updates the live URL.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-525909dfba2bfdf0627eb0aa2676c8aee8492ae0%2Fqore_app-builder_studio-import-an-existing-app-more-publish-new-version_rounded_shadow.png?alt=media" alt="The publish panel, showing the last published version, its date, and the live URL"><figcaption><p>The publish panel for an app that has been published before.</p></figcaption></figure>

### Connect the database

{% stepper %}
{% step %}

#### Open Manage Database

In the publish checklist, select **Connect** beside the database. **Manage Database** lists the available databases, such as **App DB** and **Preview Database**, each with **Connect**.

To add one, type a name in **Database name** and select **+ Add Database**.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-8044fb96edb2c46a41dddae76af8d74b758a4240%2Fqore_app-builder_how-to-manage-database_rounded_shadow.png?alt=media" alt="The Manage Database dialog, listing App DB and Preview Database with Connect buttons, and a Database name field with Add Database"><figcaption><p>Manage Database.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Choose a database

Select **Connect** beside the database. **Select Schema** opens, with the database name beneath the title.
{% endstep %}

{% step %}

#### Create a schema, or connect an existing one

* **Create New Schema** — type a name, such as *sales*, and select **Create & Connect**. You're assigned as the **Root User**, with full ownership of the schema.
* **Existing Schemas** — each schema shows its status, such as **In Use**, and its owner app. Choose an access level — **Standard (Read & Write)** or **Read Only** — then select **Connect**.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-79fb47ee72815072234023b62fdd489a00af9fc4%2Fqore_app-builder_how-to-select-schema-access_rounded_shadow.png?alt=media" alt="The Select Schema dialog for Preview Database: Create New Schema with a Create and Connect button, and two existing schemas, each In Use, with an access menu open showing Standard (Read and Write) and Read Only"><figcaption><p>Select Schema, with the access level menu open.</p></figcaption></figure>
{% endstep %}
{% endstepper %}

Once connected, **Manage Database** shows the database as **Connected**, with its schema name and a **Manage** button.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-c8f067e804af4fb30b83e14fe55f0ec07cd575a1%2Fqore_app-builder_how-to-manage-database-connected_rounded_shadow.png?alt=media" alt="Manage Database with the Design database Connected, its schema name, and a Manage button"><figcaption><p>A connected database.</p></figcaption></figure>

Select **Manage** to return to **Select Schema**. A connected schema shows **Connected** and its owner, with a user menu, such as **Root User**, and **Update User**.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-00b2ba36ca3deea35ec59b578b2e145f107ceb2c%2Fqore_app-builder_how-to-select-schema-connected_rounded_shadow.png?alt=media" alt="Select Schema for the Design database, with the sales schema Connected, owned by ToDo List App, a Root User menu and an Update User button"><figcaption><p>A connected schema.</p></figcaption></figure>

### Resolve a failed publish

When publishing fails, **Publishing Failed** reads: *An error occurred while publishing your application. Please try again or use the "Fix with AI" option to attempt an automatic resolution of the issue.* Select one of these actions:

* **Try Again** to retry the publish
* **Fix with AI** to send the failure to the build agent
* **Close** to dismiss the notification

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-87addcffa9546ae4d9e8e7dac0332726e3bf8658%2Fqore_app-builder_how-to-publish-failed_rounded_shadow.png?alt=media" alt="The Publishing Failed dialog, with View Error Details, and Close, Fix with AI and Try Again buttons"><figcaption><p>A failed publish, with recovery actions.</p></figcaption></figure>

{% hint style="info" %}
**Fix with AI** sends the reported issue to Qore's build agent. Review the rebuilt preview before you continue.
{% endhint %}

With **Fix with AI**, the build agent works on the failure in the build conversation. It shows **Working…** and each step it takes. Select **Stop** to stop it. When it finishes, it summarizes the changes and shows **Live preview is ready**.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-a97c8e1d9322749f8dc7a61f95b790cac52b3363%2Fqore_app-builder_how-to-build-agent-working_rounded_shadow.png?alt=media" alt="The build conversation with the request Fix the publish failure, the agent Working and listing its steps, and a Stop button"><figcaption><p>The build agent working on a publish failure.</p></figcaption></figure>

Select **View Error Details** to open the deploy log. It shows numbered build steps and the underlying error. Use the log to fix the issue, then select **Try Again**.

<figure><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-8c11c3105f5067411d1c0af848425ef869d1b2b2%2Fqore_app-builder_studio-import-an-existing-app-more-publish-failed-error-details_rounded_shadow.png?alt=media" alt="The deploy log, with numbered build steps and the underlying error"><figcaption><p>The deploy log's error details.</p></figcaption></figure>

For example, a missing `package.json` appears as an `npm install` failure with error code `ENOENT`.

## Versions

The version selector lists builds newest first. **Latest** marks the newest build. **Published** marks the live version. *Uncommitted changes* marks work outside a version.

Select a version to review or return to it. The published version can differ from the latest build.

## What ships

After testing, the platform packages the project as one deployment unit:

* **Frontend code** — UI components, state managers, and inline styles compile for production
* **Infrastructure settings** — connected database variables, storage links, and custom routing stay mapped to the container
* **Attached agents** — prompts, compliance skills, and reasoning logic travel with the app export package

## Enterprise publishing

The publishing engine supports high-concurrency environments and automates server configuration.

* **High-traffic infrastructure** — the pipeline manages concurrent enterprise publishing requests
* **Request queuing** — deployments process sequentially to prevent stuck states during peak periods
* **Zero-downtime rollouts** — infrastructure updates migrate in the background
* **Production stability** — backward-compatible upgrades preserve published apps through platform updates

## Staging and governance

* **Isolated staging controls** — deploy privately for compliance, risk, and security review
* **Performance-ready clusters** — published apps run on multi-region nodes optimized for sub-second load times

{% hint style="warning" %}
**Publish** is unavailable in **Plan Mode**. To gather feedback before compiling code, add reviewers as collaborators from **Share**. See [Plan](/ai-workbench-qore/console/app-builder/plan.md#collaboration).
{% endhint %}

***

After publishing, use [Operate](/ai-workbench-qore/console/app-builder/operate.md) to track costs and acquisition.

***

{% columns %}
{% column width="83.33333333333334%" %}

<p align="right"><em>Maintained by</em> <mark style="color:green;">Abhishek Paul</mark><br><code>AI-assisted, human-approved</code></p>
{% endcolumn %}

{% column width="16.666666666666664%" %}

<div align="left"><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-d034645b4f8f8ee661985f5306b60ded3289653c%2Fmaintainer-abhishek-paul.png?alt=media" alt="" width="60"></div>
{% endcolumn %}
{% endcolumns %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.uptiq.ai/ai-workbench-qore/console/app-builder/deploy.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
