Deploy from Git
Connect GitHub, GitLab or Bitbucket, choose a repository and branch, and every push to that branch deploys a new release.
Connect your Git provider once. Then pick a repository and a branch, and Plexivo App Runner builds and deploys every push to that branch.
Before you begin#
- A Plexivo account and a project.
- Your code on GitHub, GitLab or Bitbucket.
Connect your Git provider#
- Start a new app. Choose Create, then Plexivo App Runner.
- Choose the provider. Under Source, pick GitHub, GitLab or Bitbucket, then choose Connect GitHub (or GitLab, or Bitbucket).
- Approve access. For GitHub you install the Plexivo GitHub App and choose which repositories it may read. For GitLab and Bitbucket you sign in and approve Plexivo.
You manage connections in Settings → Git. Builds clone your code with short-lived credentials.
Deploy a repository#
- Pick the code. Choose the Repository and the Branch. Private repositories are marked private.
- Name the app. The name becomes its address,
<name>.plexivo.app. Use lowercase letters, digits and dashes. - Choose a size and the Minimum instances and Maximum instances. See Scaling and sizes.
- Deploy. Check the Estimated monthly cost, then choose Deploy (the button carries the app’s name, as in Deploy web). Follow the build on the app’s Deployments tab.
Every push deploys#
Each push to the app’s branch starts a new build. Pushes to other branches are ignored. The current release keeps serving until the new one is ready.
- GitHub: the Plexivo GitHub App receives every push. Nothing to set up.
- GitLab and Bitbucket: Plexivo adds the webhook to the repository for you. If it cannot, choose Add it for me on the app’s Settings tab, or copy the URL and secret shown there into the repository’s webhook settings.
Every webhook call is signed. Plexivo checks the signature before it believes the push. Unless pushes arrive through the Plexivo GitHub App, you can replace the secret at any time with Replace secret.
Change the repository or branch#
On the app’s Settings tab, edit Repository and build and choose Apply and rebuild. The app keeps its address, environment and history. The current release serves until the new build is ready.
To build an SSH repository URL (git@…), add the app’s read-only Private repository deploy key to the repository. Plexivo shows the key on the same tab, and Replace key issues a new one.
Public repositories#
A public repository on GitHub, GitLab or Bitbucket can be deployed from its name alone, without connecting an account. Plexivo checks that the repository is public and the branch exists. Pushes do not deploy on their own until you connect the provider for that repository.
In the console, connect the provider first. With the API, or by asking Plexivo AI, you can name the public repository directly:
# Your project ids
curl -s $API/tenants/$ORG/projects -H "Authorization: Bearer $PLEXIVO_TOKEN"
curl -s -X POST $API/tenants/$ORG/deployments \
-H "Authorization: Bearer $PLEXIVO_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: create-web-1" \
-d '{
"type": "app",
"project_id": "PROJECT_ID",
"name": "web",
"source": {"type": "git", "provider": "github", "repository": "acme/web", "branch": "main"},
"cpu_m": 500,
"mem_mb": 1024,
"min_instances": 1,
"max_instances": 1
}'cpu_m and mem_mb must be one of the sizes. Plexivo answers 201 when the app is placed and building, or 202 when it is waiting for room in the region. The Idempotency-Key header makes a retried request safe. $API and $ORG are set as on the overview.
Next steps#
Updated 27 October 2026