Deploy from GitHub
Connect a GitHub repository for git push to deploy: Lizard builds and redeploys your app whenever you push to the tracked branch. Run lizard add -r owner/repo to create the service; for a private repository, connect the Lizard GitHub App first with lizard git connect. This is the recommended way to run an app you keep in GitHub. For code with no remote, deploy from local code instead.
Create a service from a repo
lizard add -r your-org/your-appThis creates a github-source service, clones the repo, auto-detects the stack (lizardpack), builds it, and returns a live URL. Useful flags:
| Flag | Purpose |
|---|---|
-r, --repo <owner/repo> | Source repository |
-n, --name <name> | Service name (used in ${{name.KEY}} refs and the dashboard) |
-v, --variables <K=V> | Seed an env var; repeatable |
--region <code> | Region to deploy in |
--no-deploy | Attach the repo but skip the first build |
Private repositories
Connect the Lizard GitHub App once per account to grant access to private repos:
lizard git connect
lizard git status # show connection + repo statusYou can also connect and manage repository access from the GitHub integration page in the dashboard (lizard open).
Point an existing service at a repo
To switch a service to a git source (or change the repo/branch):
lizard service set api \
--set sourceType=github \
--set repoUrl=https://github.com/your-org/your-app \
--set branch=mainChanging a build field rebuilds a running service. Running redeploy afterward will queue two builds. A crashed or never-deployed service needs lizard redeploy.
Note:
lizard upalways forcessourceType=upload. Don’t use it to update a git-backed service: push to the remote or uselizard redeployinstead.
Auto-redeploy on push
Once repoUrl is set, pushes to the matching branch redeploy automatically via the GitHub webhook. Connect the Lizard GitHub App (lizard git connect) so Lizard receives push events for the repository. To scope which pushes trigger a redeploy:
rootDirectory: only build a subdirectory (monorepos).watchPatterns: only redeploy when matching paths change.
lizard service set api --set watchPatterns='apps/api/**,packages/**'Switch branches
lizard git checkout api staging # move the `api` service to the `staging` branch and redeployMonorepos
For a repo that holds several apps, create one service per app and set its rootDirectory to the subpath:
lizard add -r your-org/monorepo -n api --no-deploy
lizard service set api --set rootDirectory=apps/api
lizard redeploy --service apiIf your current directory is a sub-app inside a repo whose parent is already linked, add the service in the parent’s project and set rootDirectory to the cwd subpath.
See also
- Build Pipeline: how your stack is detected and built.
- Framework guides: build commands and ports for Next.js, Nuxt, Django, FastAPI, Rails, Go and more.
- Deploy with a Dockerfile: when the repo has its own Dockerfile.
- Deploy from Local Code: when you don’t have a remote.
lizard git: the full command reference forconnect,status, andcheckout.- Choose the host by the application: choosing a host for an app an agent wrote.
Updated