Deploy from GitHub
Connect a repository and deploy it on every push.
Unbind can build a repository and deploy it again every time you push.
Connect GitHub
This is done once per GitHub account or organization, by someone who can change system settings.
Start the connection
Open the command panel, pick GitHub Repo, then Configure GitHub App. Choose Personal for your own account or Organization and type the organization's name.
Create the GitHub App
A GitHub window opens with everything filled in. Confirm it. This creates a private GitHub App that belongs to you, not to us. It can read code and metadata, and it receives push events.
Pick the repositories
GitHub asks where to install the app. Choose all repositories or only some. Private repositories work the same as public ones.
When the window closes you see GitHub app connected.
One connection per account
A connection made for your personal account cannot see an organization's repositories. Connect the organization as well.
Create the service
Open the command panel, pick GitHub Repo and choose a repository. Unbind creates the service right away and looks at the code to work out the framework and the port it listens on.
Before the first deployment you can check:
- Repository and Branch: the default branch is selected. Pick another one if you need to.
- Domain and port: a generated domain is suggested. See Domains.
- Variables: add what the app needs. See Variables.
- Advanced Settings: the builder and its commands. See Builds.
Press Deploy.
Deploy on every push
Services created from GitHub deploy on every push to their branch. You can change the branch later under Source in the service settings.
Watch paths
In a monorepo you do not want every push to redeploy every service. Under Build > Watch Paths, add gitignore-style patterns. A push then deploys only when one of the changed files matches.
apps/web/**
packages/ui/**
!**/*.md- Empty list: every push deploys.
- Order matters: the last pattern that matches a file wins, so put
!exclusions at the end. - Limits: up to 100 patterns, 256 characters each.
Some pushes always deploy
GitHub does not list changed files for force pushes, for a branch that was just created, or for very large pushes. Those deploy no matter what the watch paths say.