Skip to main content

From commit to production, without rebuilding.

Connect a Git repository, get a preview URL on every push, and promote an immutable deployment to production when you are ready.

A preview for every push

Every push gets its own URL, plus stable branch and pull request URLs that only move once the new build is ready. Easel posts the link and status on the pull request.

New onboarding flow #184

Openmaya wants to merge 2 commits into main from feat/onboarding
Conversation3Commits2Checks1Files changed12

maya pushed 2 commits · 3 minutes ago

  • Add onboarding steps and progress bar9c4e1f2
  • Persist onboarding state per workspacea1b2c3d
easel bot commented · 2 minutes ago

The latest updates on your projects. Learn more about Easel previews.

ProjectDeploymentPreview
lumen-chatReadyVisit preview
lumen-docsSkippedNo changes

All checks have passed

1 successful check

Easel — Deployment has completedDetails

You decide when production changes

Ready builds go live automatically, or wait as Staged until you promote them. Instant Rollback points your domains at an earlier deployment with no rebuild and no queue.

Productionmain
  • Tighten rate limits on /api/chat

    maine41c09a

    Staged
  • New onboarding flow (#184)

    maina1b2c3d

    Current
  • Upgrade to Next.js 16.1

    main7f3d2e1

    Inspect deployment
    Instant Rollback
    View build logs
    Copy URL
  • Fix streaming on Safari

    mainc90a4b8

  • Add usage dashboard

    main5be17d4

Builds that skip work

Dependencies are cached by lockfile, Turborepo's remote cache is built in, and pushes that don't touch an app skip its build entirely.

Ready

31.0sFind
Clone0.9s
Restore cache0.6s
Install1.8s
Build26.1s
  1. 1• Packages in scope: web
  2. 2• Remote caching enabled
  3. 3@acme/ui:build: cache hit, replaying logs 4f1a0c2e
  4. 4@acme/db:build: cache hit, replaying logs 91bd33a7
  5. 5web:build: cache miss, executing 2c7e9d10
  6. 6web:build: ✓ Compiled successfully in 18.4s
  7. 7web:build: ✓ Generating static pages (18/18)
  8. 8 Tasks: 16 successful, 16 total
  9. 9Cached: 14 cached, 16 total
Deploy outputs1.2s
Assign domains0.4s
lumen-docs skipped: no changes in apps/docs or its dependencies

Inspect any deployment

Status, commit, every URL, build logs with a failure summary, generated resources, and request logs, all on one page. Cancel a build while it's still running.

Deployment details

Visit
OverviewBuild logsResourcesLogsSource
Lumen Chat deployed app preview
Deployment
lumen-chat-a1b2c3d4e-acme.preview.easelusercontent.com
Domains
  • lumen-chat-git-feat-onboarding-acme.preview.easelusercontent.com
  • lumen-chat-pr-184-acme.preview.easelusercontent.com
Status
Ready · Preview
Created
4m ago
Source

feat/onboarding

a1b2c3dPersist onboarding state per workspace

The rest of the workflow

The parts of shipping you'd otherwise script yourself.

  • Deploy without Git

    easel deploy uploads only the files that changed. Add --prod for production, or --prebuilt to ship output you built yourself.

  • Monorepos

    Each app is its own project with its own root directory, so one pull request can preview several apps.

  • Deployment Protection

    Require sign-in on preview hostnames while your custom production domains stay public.

  • Environment variables

    Scoped to Preview and Production, with branch overrides. Each deployment keeps the values it was built with.

Deploy your next branch on Easel

Import a repository, share a preview link on your first pull request, and release to production when you're ready.