# How to publish a Bubble app

- Tool: Bubble
- Difficulty: Beginner
- Time required: 10-15 min
- Compatibility: Starter plan+ (Free plan cannot deploy to live)
- Last updated: March 2026

## TL;DR

Publishing your Bubble app moves it from the development environment to live. This involves clicking Deploy to Live, understanding what changes get pushed, reviewing your checklist of settings, and verifying the live version works correctly. This tutorial covers the complete deployment process and common pre-launch checks.

## Overview: Publishing Your Bubble App

Bubble has two environments: Development (where you build and test) and Live (what your users see). Changes you make in the editor only affect the development version. To make them available to users, you must deploy to live. This tutorial covers the deployment process and everything you should check before and after.

## Before you start

- A Bubble app on a paid plan (Starter or above)
- All features tested in the development environment
- API keys and integrations configured

## Step-by-step guide

### 1. Review your pre-deployment checklist

Before deploying, verify these items. Data: all required Data Types and fields exist. Workflows: test every workflow path in preview mode. Plugins: all API keys entered and working. Privacy Rules: configured for all Data Types. Settings: custom domain configured (if applicable), email settings, SEO meta tags. Performance: test with realistic data volumes. Security: no sensitive data in hidden elements, all inputs validated.

**Expected result:** All critical items are verified before deployment.

### 2. Deploy to live using the Deploy button

In the top-right corner of your Bubble editor, click the dropdown arrow next to the blue Deploy button. Select Deploy Development to Live. Bubble shows a summary of changes since the last deployment. Review the changes. Click Deploy. Bubble processes the deployment, which takes a few seconds to a few minutes depending on your app's size.

> Pro tip: Bubble shows you what changed since the last deploy. Review this carefully — it helps catch unintended changes.

**Expected result:** Your development changes are now live and accessible to users.

### 3. Verify the live version

After deployment, open your live app URL (yourdomain.com or yourapp.bubbleapps.io). Test critical flows: login, registration, data creation, payments. Check that all API integrations work in live mode. Verify that emails send correctly. Test on mobile devices. Compare the live version against your development version to ensure parity.

**Expected result:** The live app works correctly with all features functioning as expected.

### 4. Monitor after deployment

Check the Logs tab in your editor for any errors on the live version. Monitor your Workload Units in Settings to ensure the live app is not consuming more WUs than expected. Watch for user-reported issues in the first few hours after deployment. Keep the editor open to quickly fix any issues.

**Expected result:** The live app is stable with no unexpected errors or performance issues.

### 5. Roll back if needed

If you discover a critical issue after deployment, you can revert to the previous live version. Go to Settings → General and look for the version history or use the Restore previous version option. Note: this rolls back ALL changes since the last deploy, not just specific ones. For targeted fixes, it is faster to fix the issue in development and redeploy.

**Expected result:** You can revert to a previous version if a critical issue is discovered.

## Complete code example

File: `Workflow summary`

```text
DEPLOYMENT CHECKLIST
=====================

PRE-DEPLOYMENT:
  □ All Data Types and fields created
  □ All workflows tested in preview mode
  □ All API keys entered in plugins (live keys, not test)
  □ Privacy Rules configured for all Data Types
  □ Custom domain configured and SSL active
  □ Email settings configured (from address, templates)
  □ SEO meta tags set on all pages
  □ Input validation on all forms
  □ Error handling on all API calls
  □ No sensitive data in hidden elements
  □ Stripe set to live mode (if applicable)
  □ Test data cleaned up

DEPLOYMENT:
  1. Click Deploy dropdown → Deploy Development to Live
  2. Review change summary
  3. Click Deploy
  4. Wait for processing to complete

POST-DEPLOYMENT:
  □ Open live URL and verify
  □ Test login/registration flow
  □ Test data creation and display
  □ Test payment flow (live Stripe)
  □ Test email delivery
  □ Test on mobile devices
  □ Check Logs tab for errors
  □ Monitor WU consumption

ROLLBACK:
  Settings → General → Restore previous version
  WARNING: rolls back ALL changes, not selective
  Better approach: fix issue in dev → redeploy

ENVIRONMENTS:
  Development: preview mode, test data, test API keys
  Live: production URL, real data, live API keys
```

## Common mistakes

- **Deploying with test API keys still configured** — Test Stripe keys, development API keys, or sandbox credentials will not work in production, causing payment failures and API errors Fix: Before deploying, switch all API keys to their live/production versions in the Plugins tab
- **Not testing critical workflows before deploying** — Bugs in live affect real users and can cause data loss, failed payments, or broken user experiences Fix: Test every critical workflow in preview mode with realistic data before deploying
- **Deploying and immediately changing things in development** — Subsequent deploys will push the new development changes along with any fixes, potentially introducing new issues Fix: After deploying, focus on monitoring the live version. Only make development changes when you are ready for a new deployment cycle

## Best practices

- Use a pre-deployment checklist to verify all critical items before going live
- Switch API keys from test to live mode before deploying
- Test the live version immediately after deployment on multiple devices
- Monitor the Logs tab and WU consumption after deployment
- Keep a backup copy of your app before major deployments
- Deploy during low-traffic hours to minimize impact if issues arise

## Frequently asked questions

### Can I deploy specific changes without deploying everything?

No. Bubble deploys all development changes at once. There is no selective deployment. Use version control (Team plan+) for more granular control.

### Does deploying affect my live database?

No. The live database is separate from development. Deploying only pushes app structure changes (pages, workflows, plugins) — not database records.

### Can I have a staging environment?

Bubble does not offer a built-in staging environment. The development version serves as your staging. For more environments, duplicate your app and use it as staging.

### How long does deployment take?

Simple apps deploy in seconds. Complex apps with many pages and plugins can take 1-5 minutes. Very large apps may take longer.

### What happens to users who are online during deployment?

Active users may experience a brief reload as the new version takes effect. In-progress workflows may be interrupted. Deploy during low-traffic hours to minimize impact.

### Can I schedule deployments?

No. Bubble does not support scheduled deployments. You must manually trigger the deploy. For managed deployment processes, RapidDev can help establish deployment workflows and quality assurance procedures.

---

Source: https://www.rapidevelopers.com/bubble-tutorial/publish-your-bubble-app
© RapidDev — https://www.rapidevelopers.com/bubble-tutorial/publish-your-bubble-app
