Deploying on Render – Render Docs
Render can automatically deploy your application each time you merge a change to your codebase:
You can also trigger manual deploys, both programmatically and in the Render Dashboard.
All service types redeploy with zero downtime, unless they attach a persistent disk.
You can view your service's deploy history and current live deploy from its Deploys page in the Render Dashboard.
Automatic deploys
As part of creating a service on Render, you link a branch of your Git provider repo (such as main or production). Whenever you push or merge a change to that branch, by default Render automatically rebuilds and redeploys your service.
Auto-deploys appear on your service's Deploys page in the Render Dashboard:
If needed, you can skip an auto-deploy for a particular commit, or even disable auto-deploys entirely.
Auto-deploys require a connected Git provider. Services that use a prebuilt Docker image or a public Git repository URL must be deployed manually.
Configuring auto-deploys
Configure a service's auto-deploy behavior from its Settings page in the Render Dashboard:
Under Auto-Deploy, select one of the following:
| Option | Description |
|---|---|
| On Commit | Render triggers a deploy as soon as you push or merge a change to your linked branch. This is the default behavior for a new service. |
| After CI Checks Pass | With each change to your linked branch, Render triggers a deploy only after all of your repo's CI checks pass. For details, see Integrating with CI. |
| Off | Disables auto-deploys for the service. Choose this option if you only want to trigger deploys manually. |
Integrating with CI
If you set your service's auto-deploy behavior to After CI Checks Pass, Render waits for a new commit's CI checks to complete before triggering a deploy. If all checks pass, Render proceeds with the deploy.
For GitHub checks, Render considers a check "passed" if its conclusion is any of success, neutral, or skipped.
Render does not trigger a deploy if:
- Zero checks are detected for the new commit
- At least one CI check fails for the new commit
If your repo doesn't run CI checks, use On Commit instead of After CI Checks Pass to enable auto-deploys.
Select the tab for your Git provider to learn which CI checks are supported:
GitHubGitHub
GitLabGitLab
BitbucketBitbucket
Render detects the results of CI checks originating from the following:
- GitHub Actions
- Tools that integrate with the GitHub checks API, such as CircleCI
Supported checks appear on commits and pull requests in the GitHub UI:
Render detects the results of jobs executed as part of GitLab CI/CD pipelines.
Render detects the results of steps executed as part of Bitbucket Pipelines.
Skipping an auto-deploy
Certain changes to your codebase might not require a new deploy, such as edits to a README file. In these cases, you can include a skip phrase in your Git commit message to prevent the change from triggering an auto-deploy:
$ git commit -m "[skip render] Update README"
The skip phrase is one of [skip render] or [render skip]. You can also replace render with one of the following:
deploycd
When an auto-deploy is skipped, a corresponding entry appears on your service's Events page:
For additional control over auto-deploys, configure build filters.
With build filters, Render triggers an auto-deploy only if there are changes to particular files in your repo (no skip phrase required). See details.
Manual deploys
You can manually trigger a Render service deploy in a variety of ways:
From your service's Deploys page in the Render Dashboard, open the Manual Deploy dropdown:
Select a deploy option:
| Option | Description |
|---|---|
| Deploy latest commit | Deploys the most recent commit on your service's linked branch. |
| Deploy a specific commit | Deploys a specific commit from your service's linked repo. Specify a commit by its SHA, or by selecting it from a list of recent commits. This disables automatic deploys for the service. This is because an automatic deploy might reintroduce commits you wanted to exclude from this deploy. Learn more about deploying a specific commit. |
| Clear build cache & deploy | Similar to Deploy latest commit, but first clears the service's build cache. This way, the new deploy doesn't reuse any artifacts generated during a previous build. Use this option to incorporate changes to your service's build command, or to refresh stale static assets. |
| Restart service | Deploys the same commit that's currently deployed for the service, with the same values for user-defined environment variables. For details, see Restarting a service. |
Run the Render CLI's deploys create command:
$ render deploys create
This opens an interactive menu that lists the services in your workspace. Select a service to deploy, then proceed through the prompts.
Each Render service has a unique Deploy Hook URL available on its Settings page in the Render Dashboard:
You can trigger a manual deploy by sending an HTTP GET or POST request to this URL. For details, see Deploy Hooks.
Send a POST request to the Render API's Trigger Deploy endpoint.
This endpoint accepts optional body parameters for clearing the service's build cache and/or deploying a specific commit. For services that pull a Docker image, you can specify the URL of the image to pull.