Skip to main content
Deploy

Deployment URLs

Unique deployment URLs, branch and pull request previews, and production URLs.

Every Ready deployment gets a unique URL that never changes. Projects also get stable URLs, for branches, pull requests, and production, that move to newer deployments.

Generated hostnames end in preview.easelusercontent.com and use HTTPS. A deployment's URLs are listed in the Domains section of its detail page.

URL types

URL typePatternPoints to
Unique deployment{project}-{commit}-{scope}One deployment, forever
Branch{project}-git-{branch}-{scope}Latest Ready Preview deployment on the branch
Pull request{project}-pr-{number}-{scope}Latest Ready Preview deployment for the open pull request
Production{project}-{scope}The Current Production deployment
Custom domainYour domainThe Current Production deployment

Each pattern is followed by .preview.easelusercontent.com. For project My App in workspace scope acme, commit a1b2c3d4e, branch feature/login, and pull request 42:

Unique:        https://my-app-a1b2c3d4e-acme.preview.easelusercontent.com
Branch:        https://my-app-git-feature-login-acme.preview.easelusercontent.com
Pull request:  https://my-app-pr-42-acme.preview.easelusercontent.com
Production:    https://my-app-acme.preview.easelusercontent.com

The commit segment is the first 9 characters of the Git commit hash, or another identifier for deployments without a commit. Use the unique URL to test or link to one specific build.

Branch and pull request URLs are separate hostnames, but they can point at the same deployment. See Git deployments.

The production URL and your custom domains point at the Current deployment only. A Staged Production deployment doesn't move them until you promote it. See Promote and roll back. To add a custom domain, see Domains.

When stable URLs move

A branch, pull request, or production URL moves only when a new deployment reaches Ready. While the new deployment builds, the stable URL keeps serving the previous one, and a failed or canceled deployment leaves it unchanged. After a URL moves, the edge can take a few seconds to pick up the change.

How hostnames are formed

Easel builds hostnames from slugified names:

  • Uppercase letters become lowercase.
  • Other characters become hyphens, so feature/login becomes feature-login.
  • Repeated hyphens collapse to one.
  • A hostname label can't exceed 63 characters, so Easel shortens the scope segment first to keep the project name readable.

If the slugified project name looks like a domain, such as www-mycompany-com, Easel shortens it to avoid browser phishing warnings. Branch, commit, and scope segments don't change.

When a URL stops working

A URL resolves while its deployment is Ready and the project is serving. Deployment URLs don't expire. A URL stops working when:

  • The deployment is spun down. See Managing deployments.
  • The project is paused, which stops production URLs. Preview URLs keep working.
  • The workspace is suspended, which stops every URL.