GitHub Deployment
Use GitHub Repository as the project source when you want to publish your application from source code and the build flow configured during creation.
Prerequisites
Before selecting a repository, complete these two required steps:
-
connect your GitHub account to Zenifra
-
install the Zenifra GitHub App
Note: The GitHub App can be installed on a personal account or an organization. In organizations, installation may require administrator approval.
Steps
- In the console, click Create Project.
- Choose GitHub Repository as the project source.
- Select the repository, branch, runtime, and project commands.
- Decide whether to enable
auto-deploy. - Click Create Project.
Project commands
In GitHub projects, Zenifra runs the runtime's default dependency install and then executes only the commands configured in the project.
pre-buildis optionalbuildis optionalstartis required
This means some projects only need start, while others also use pre-build and build.
Auto-deploy
When auto-deploy is enabled during project creation, each push to the selected branch triggers a new automatic update.
When auto-deploy is disabled, the project does not update automatically on push.
What stays fixed after creation
In GitHub-based projects, these fields are defined during creation and are not available for editing later:
- project source
- branch
- runtime
- runtime version
auto-deploy
After creation, the confirmed editable settings for GitHub projects are pre-build, build, and start.
Build Logs
After the project is created, follow each publication from the Build Logs tab inside the project page in the console.
This history shows:
- recent builds
- current build status
- dependency installation output
pre-buildoutput, when presentbuildoutput, when present
Public build logs are filtered to prioritize useful project output. Internal Docker and BuildKit details are not shown in this view.
The log modal updates in real time while the build is running.
Retention
GitHub build history is retained for up to:
- 30 builds per project
- 30 days of age
Whichever limit is reached first removes the oldest records.
URL
All plans receive a Zenifra URL in *.clients.zenifra.com. In higher plans, the subdomain name may be customizable.