> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hiveku.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy Your Site

> Publish your project to a live URL

Shipping a change on Hiveku is one click (or one sentence). Here's how to deploy, what happens behind the scenes, and how to roll back if something goes wrong.

<CardGroup cols={3}>
  <Card title="Easiest" icon="rocket">
    Click the Deploy button
  </Card>

  <Card title="Conversational" icon="wand-magic-sparkles">
    Ask the AI
  </Card>

  <Card title="For developers" icon="github">
    Push to GitHub
  </Card>
</CardGroup>

## Option 1: Deploy Button

<Steps>
  <Step title="Click Deploy">
    In the top bar of the Editor, click the **Deploy** button.
  </Step>

  <Step title="Pick the environment">
    Usually Production. For staging deploys, pick **Staging** from the dropdown.
  </Step>

  <Step title="Watch the status">
    The button shows progress — Building, Deploying, Live — usually under two minutes.
  </Step>
</Steps>

## Option 2: Ask the AI

From the AI chat, just say:

```
Deploy to production
```

```
Push the latest changes live
```

The AI confirms what will be deployed and kicks off the build. Great when you're already in a chat and don't want to switch contexts.

## Option 3: Auto-Deploy on GitHub Push

If your project is connected to GitHub, every push to your default branch triggers a deploy automatically.

<Info>
  Auto-deploy is on by default for GitHub-imported projects. You can toggle it in **Settings > Deployment**.
</Info>

## What Happens When You Deploy

<Steps>
  <Step title="Build">
    Hiveku runs your build command (`next build`, `npm run build`, etc.) in an isolated container.
  </Step>

  <Step title="Push to CDN">
    Successful builds get uploaded to the global CDN.
  </Step>

  <Step title="Update routing">
    DNS and routing update to point at the new version.
  </Step>

  <Step title="Live">
    Your site is live. Full deploys typically finish in under two minutes.
  </Step>
</Steps>

## Your Live URL

Your site is always reachable at:

```
https://{project}.hiveku.com
```

If you've attached a custom domain, it's live there too. See [Custom Domain](/how-tos/custom-domain).

## Deployment Status

| Status        | Meaning                                               |
| ------------- | ----------------------------------------------------- |
| **Queued**    | Waiting for a build slot                              |
| **Building**  | Running your build command                            |
| **Deploying** | Pushing to the CDN                                    |
| **Live**      | Your change is visible                                |
| **Failed**    | Build or deploy errored (previous version still live) |

<Tip>
  A failed deploy never takes down your live site — the previous version stays up until a new deploy succeeds.
</Tip>

## Deployment History

Every deploy is saved. View history from **Settings > Deployment > History**.

Each entry shows:

* Timestamp and who triggered it
* Git commit or change summary
* Build logs
* Status and duration
* A **Rollback** action

## Rolling Back

<Steps>
  <Step title="Open Deployment History">
    Go to **Settings > Deployment > History**.
  </Step>

  <Step title="Find a healthy deploy">
    Scroll to the last successful deploy from before the problem.
  </Step>

  <Step title="Click Rollback">
    Hiveku restores the files from that deploy into your working tree.
  </Step>

  <Step title="Redeploy">
    Click **Deploy** to push the rolled-back version live. Your live site returns to that earlier snapshot.
  </Step>
</Steps>

<Warning>
  Rollback restores files into your working project — it doesn't instantly swap the live site. You need to deploy after rolling back.
</Warning>

## Verifying the Deploy

After the status shows **Live**:

1. Open your site URL in a new tab (`https://{project}.hiveku.com`)
2. Hard-refresh with **Cmd+Shift+R** (Mac) or **Ctrl+Shift+R** (Windows) to bypass browser cache
3. Spot-check the page you changed
4. Check the console for errors

## Troubleshooting

<AccordionGroup>
  <Accordion title="Deploy failed">
    Open **Settings > Deployment > History** and click the failed entry for build logs. Common causes: missing env var, TypeScript error, a package that needs installing. You can also paste the error into the AI chat: *"My deploy failed with this error — can you fix it?"*
  </Accordion>

  <Accordion title="White page after deploy">
    Open the browser console (right-click > Inspect > Console) and look for errors. Often a missing env var (NEXT\_PUBLIC\_ vars need to be set before build) or a client-side error. Ask the AI to investigate — paste the console output into chat.
  </Accordion>

  <Accordion title="I see an old version after deploy">
    Hard-refresh the page (Cmd+Shift+R / Ctrl+Shift+R) to bypass your browser cache. CDN propagation usually finishes within seconds of the Live status.
  </Accordion>

  <Accordion title="Custom domain isn't updating">
    DNS propagation can take up to 48 hours (usually much faster). Run your domain through [dnschecker.org](https://dnschecker.org) to confirm. See [Custom Domain](/how-tos/custom-domain) for the full checklist.
  </Accordion>

  <Accordion title="Deploys are queued forever">
    A previous deploy may be stuck. Open deployment history, cancel the queued ones, and try again. If it persists, contact support — there may be a platform issue.
  </Accordion>
</AccordionGroup>

## What's Next?

<CardGroup cols={2}>
  <Card title="Custom Domain" icon="globe" href="/how-tos/custom-domain">
    Point your domain at the site
  </Card>

  <Card title="Environment Variables" icon="key" href="/how-tos/env-vars">
    Configure secrets and settings
  </Card>
</CardGroup>
