Deploy private modules with the GitHub App
Connect selected repositories, map branches by environment, and deploy custom Odoo addons.
Before you connect
The Tnion.SH GitHub App is for workspace repository access. It is separate from GitHub OAuth used to sign a person in.
Prepare a repository that contains one or more Odoo addon directories. Each addon should contain a valid __manifest__.py. Decide which branches represent Production, Staging, and Development before configuring the project.
Install the GitHub App
Open workspace settings and start the GitHub integration. GitHub asks which account or organization installs the App and which repositories it may access.
Select only the repositories this workspace needs to deploy. When GitHub returns to Tnion.SH, the installation is associated with the workspace through a short-lived state value.
If the platform reports that the GitHub App is not configured, the Tnion.SH operator must finish the platform-level App configuration before customers can connect repositories.
Select a repository
Open the project Git source settings. Choose a repository visible to the workspace installation. Tnion.SH lists repositories and branches granted to that installation; it does not grant itself access to repositories you did not select in GitHub.
Test the connection before saving the deployment policy. A suspended or removed GitHub installation must be reconnected.
Map environment branches
Store one branch for each stage. The defaults are production, staging, and development, but you can map your own convention:
Production → main
Staging → release
Development → develop
The target environment determines the branch used by a module deployment. Operators do not type an arbitrary branch during the final deploy action.
Deploy and review
Open a provisioned instance and start a Git deployment. Tnion.SH obtains a short-lived installation token, fetches the mapped branch, synchronizes the repository into the mounted addons path, detects addon manifests, updates detected modules, and restarts Odoo.
The deployment records the resulting commit and preserves a stage-by-stage log. Review checkout, module update, and restart output before treating the deployment as complete.