Teral
Deploy

GitHub

Deploy on every push, and decide which pushes count.

When an app's source is a GitHub repository, Teral deploys it whenever you push. Teral receives the push through the Teral GitHub App, which you install once per GitHub account or organization.

Which environment a push goes to

Push toDeploys to
The repository's default branchProduction
Any other branchPreview

Every deployment gets its own URL, and each branch also gets a URL that follows its newest deployment. See Generated URLs.

For pull requests, Teral reports the deployment back to GitHub. It shows up as a GitHub deployment and as a comment on the pull request with the links.

Pull requests from forks

Teral doesn't build code from a fork on its own. A fork can change the build and read your preview variables, so someone with access to the project has to authorize it first. The deployment waits in Awaiting approval until someone selects Authorize Fork Deployment on it.

Fork deployments always go to preview.

Watch paths

By default every push deploys. Watch paths limit that to pushes that change certain files, which helps in monorepos.

Add glob patterns under Settings → Source & build → Watch paths. If none of the files in a push match any pattern, Teral skips the push.

services/api/**
packages/shared/**

Auto deploy

Auto deploy is on by default, separately for production and preview. Turn it off under Settings → Source & build → Auto deploy to deploy only when you ask.

When it's off, pushes still show up in the deployment list as Skipped, so you can see what you didn't ship.

Deploy by hand

Select Create Deployment on the app's page to deploy something specific. The field takes:

  • a branch name, such as main
  • a commit SHA
  • a fork branch, as owner:branch
  • a GitHub link to a branch, a commit or a pull request

Links and fork references must point to a repository with the same name as the connected one, so the connected repository itself or a fork of it. You choose the environment in the same dialog.

When a push doesn't deploy

  1. Check that the Teral GitHub App has access to the repository. You can change its access on GitHub under Settings → Applications.
  2. Check that the app is connected to that repository in Settings → Source & build.
  3. Look for a Skipped deployment: auto deploy might be off for that environment.
  4. If you use watch paths, check that the push changed a matching file.
Edit on GitHub

On this page