Creating deployments
Create Easel deployments from Git, the CLI, or the dashboard.
Easel can create deployments from Git activity, local source code, and the dashboard.
The method you choose determines where the source comes from. The deployment environment determines which project configuration Easel uses during the build.
Deploy from Git
For a Git-connected project, Easel creates deployments when you push commits to the connected repository.
| Git activity | Deployment environment |
|---|---|
| Push to the production branch | Production |
| Push to another branch | Preview |
The production branch is selected in Project settings → Environments.
A new commit creates a new deployment. Easel does not modify a previously created deployment in place.
When an open pull request exists for the head branch, Easel also associates a pull request preview URL with the Preview deployment. See Git deployments for branch behavior, skip controls, and monorepos.
Deploy from the CLI
Use the Easel CLI to create a deployment from a local project directory.
CLI deployments default to Preview. Deploy to Production with:
In CI, pass --yes (or -y) with --prod to skip the production confirmation prompt.
Before deploying, the CLI may ask you to:
- Sign in
- Select a workspace
- Link the directory to an existing project
- Create a project
The CLI uploads the project source (or a prebuilt output with --prebuilt), then prints the deployment URL. Use --wait to wait for a terminal status. See Deploy from the CLI for full options.
Deploy from the dashboard
From the project overview, Deploy creates a Production deployment from the current HEAD of the production branch.
Deploy a specific branch or commit
Git-connected projects deploy the revision that triggered the push.
To deploy a different revision:
- Push the revision to a tracked branch
- Check out the revision locally and run
easel deploy - Promote a Preview deployment to production (rebuilds that commit with Production configuration)
First deployment
There is no special first-deployment rule. The environment follows the usual mapping:
- Git: production branch → Production; any other branch → Preview
- CLI: Preview by default;
--prodfor Production - Dashboard Deploy: Production from the production branch HEAD
A project receives generated Easel hostnames when deployments become Ready. Custom domains are not assigned automatically; attach them in Project settings → Custom Domains. See Domains.
A Preview deployment can exist before the first Production deployment.
Build configuration
A deployment snapshots the project settings and environment variables available for its environment when the deployment is created.
This includes:
- Framework preset
- Root directory
- Install command
- Build command
- Output directory
- Runtime configuration
- Environment variables for that environment
Changing project settings or environment variables does not alter an already completed deployment. New settings apply to later deployments.
After creating a deployment
Once created, a deployment moves through its lifecycle:
- Queued — waiting for build capacity
- Provisioning — preparing the build environment
- Building — installing dependencies and producing application output
- Assigning domains — publishing output and assigning URLs
- Ready — available through its deployment URL
- Failed, Canceled, or Skipped — the deployment did not become ready
See Managing deployments for status details and available actions.