Git deployments
Configure automatic deployments from branches and pull requests.
Connecting a Git repository lets Easel create deployments from commits pushed to that repository.
Production branch
Each project has one production branch. The default is main.
A push to the production branch creates a Production deployment.
Common production branches include:
Change the production branch in Project settings → Environments. The change affects future deployments only.
Preview branches
A push to any other branch in the connected repository creates a Preview deployment.
Each commit creates a new deployment. A stable branch preview URL moves to the latest Ready deployment for that branch.
Pull requests
Opening or updating a pull request does not by itself create a deployment. A push to the head branch does. When an open pull request exists for that head branch, Easel also assigns a pull request preview URL.
Easel can report deployment status to the Git provider and post the preview URL on the pull request and related commits.
Merging a pull request
The Preview deployment remains a Preview artifact.
When the merge commit lands on the production branch:
- Easel creates a new Production deployment from that commit
- The new deployment uses Production environment variables and settings
- It becomes Current if Auto-assign production domains is on, or stays Staged if auto-assign is off
Production output can differ from the Preview deployment because Production variables and settings can differ.
Skipping deployments
Easel supports two skip controls in Project settings → Build:
Skip unaffected deployments
Enabled by default. When a push does not change this project's root directory or its workspace dependencies, Easel creates a Skipped deployment instead of running a build.
Ignored build step
Optional shell command run after clone on Git deploys. Exit code 0 cancels the build (status Canceled). Any other exit code continues the build.
Example:
A skipped deployment is distinct from a canceled or failed deployment.
Monorepos
For monorepo setup, root directories, skip rules, and multi-project repositories, see Monorepos.
Forks and untrusted code
Deployments run for pushes to the connected repository. There is no separate fork-approval workflow that withholds secrets for forked pull requests.
Keep Production credentials out of Preview variables, and enable Deployment Protection when preview hostnames must not be public. See Preview deployments.
Optional: require verified (signed) commits in project Git settings when you want unsigned commits blocked.
Disconnecting Git
Disconnecting a repository stops future automatic Git deployments.
It does not delete existing deployments or immediately remove their URLs. You can later connect a different repository; new deploys follow the new connection, while historical deployments keep their recorded source metadata.
Git provider permissions
Easel requests access so it can:
- Read repository contents for builds
- Read commit metadata
- Discover open pull requests for preview URLs
- Create commit statuses or checks
- Receive webhooks for pushes
- Post deployment comments with preview URLs
If you remove permissions, the matching features stop working: for example, without webhook access Easel no longer creates deployments on push.