GitHub Integration
Connect a GitHub repository to a Skytells project using OAuth to enable automatic deployments, CI/CD workflows, branch-based releases, and webhook-driven pipelines.
The GitHub integration is the recommended way to connect source control to a Skytells project when your code is hosted on GitHub. It uses GitHub's OAuth flow for authorization, supports webhook-based auto-deployments, and provides a rich repository browsing experience directly in the Console.
What the GitHub Integration Enables
Automatic Deployments
Every push to a tracked branch triggers a new deployment automatically. No manual redeploy button — your CI/CD pipeline starts the moment code lands on the branch.
Branch-Based Deployment Strategies
Configure each app to track a specific branch. Use main for production, develop for staging, and feature branches for isolated preview environments.
Webhook Management
Skytells registers a webhook with your GitHub repository automatically. You do not need to configure webhooks manually. Push events flow from GitHub to Skytells without additional setup.
Repository Browsing
Browse your GitHub organizations and repositories from inside the Console when configuring an app. No need to copy-paste repository URLs or SSH keys.
How OAuth Authorization Works
The GitHub integration uses OAuth — the same standard authorization flow used by every major developer tool that connects to GitHub. Here is what happens when you enable it:
Skytells requests only the permissions it needs:
- Read access to repository contents (for builds).
- Webhook management on repositories you connect (for push-triggered deployments).
- Repository list access to display repos in the Console browser.
Skytells does not request write access to your code and does not push back to your repository.
Connecting GitHub to a Project
Open Project Integrations
Open the project in the Console and navigate to Project > Integrations.
Select the GitHub Integration
Select the GitHub integration.
Authorize with GitHub
Select Authorize with GitHub. You are redirected to GitHub.
Grant Permissions
Review the requested permissions and select Authorize. You are returned to the Skytells Console automatically.
Integration Active
GitHub is now connected to the project. You can browse your repositories when creating or reconfiguring apps.
If your repository is inside a GitHub organization, you may need to grant Skytells access to that organization during the OAuth flow. Look for the organization access section on the GitHub authorization screen.
Configuring Auto-Deployments on an App
Once GitHub is connected at the project level, configure each app independently:
Open the App's Deployment Settings
Open the app from Project > Apps and navigate to the app's Deployment settings.
Select the GitHub Integration as Source
Select the connected GitHub integration as the deployment source.
Choose the Repository
Choose the repository from the dropdown (populated from your GitHub account).
Choose the Branch to Track
Choose the branch to track — for example, main for production.
Enable Auto-Deploy on Push
Enable auto-deploy on push. Skytells registers a webhook with GitHub for this repository and branch.
Save and Deploy
Save. The next push to the tracked branch triggers the first automatic deployment.
What Is CI/CD?
CI/CD stands for Continuous Integration and Continuous Deployment. It is the practice of automatically building, testing, and deploying software every time a change is merged:
- Continuous Integration (CI) — whenever developers push code or open a pull request, an automated process builds the code and runs tests. This catches problems before they reach production.
- Continuous Deployment (CD) — after CI passes, the verified code is automatically deployed to the target environment. No human has to press a deploy button.
With the Skytells GitHub integration, CD is built in: a push to the tracked branch triggers a new build and deployment. If your repository has a CI system (GitHub Actions, for example), configure it to run before the push that triggers Skytells — or rely on Skytells' own build pipeline to catch configuration errors.
Branch Strategies
| Branch | Recommended Purpose |
|---|---|
main | Production — track this on your production app. Deploys after every merge. |
develop or staging | Staging environment — track this on a staging app in the same or a separate project. |
| Feature branches | Preview deployments — create short-lived apps to review changes before merging. |
This pattern lets you promote changes through environments: feature branch → staging → production, each driven automatically by git events.
Managing the OAuth Token
The GitHub integration stores an OAuth token on your behalf. Tokens can become invalid if:
- You revoke Skytells' access from your GitHub authorized apps page.
- Your GitHub account password or security settings change and sessions are reset.
- You transfer or rename a connected repository.
When the token is invalid, the Integrations page in the Console shows the integration as disconnected. Auto-deployments will stop. To fix this:
- Open Project > Integrations.
- Select the GitHub integration.
- Select Re-authorize and complete the OAuth flow again.
- Auto-deployments resume immediately after re-authorization.
If auto-deployments stop unexpectedly, check the integration status first. An expired or revoked OAuth token is the most common cause.
Troubleshooting
Deployments are not triggering on push
- Verify the integration is authorized (no disconnected state in Project > Integrations).
- Confirm the app is configured to track the correct repository and branch.
- Check that the webhook is registered: go to your GitHub repository's Settings > Webhooks and look for a Skytells webhook. If it is absent or showing errors, re-save the app's deployment configuration.
Organization repositories are not appearing
- During OAuth, you must explicitly grant Skytells access to your organization. Go to GitHub Settings > Applications > Authorized OAuth Apps, find Skytells, and grant organization access.
Build fails after connecting GitHub
- Verify your build command and build output directory are correct in the app settings.
- Check build logs in the app's Deployments section.
Related
- Integrations Overview — understand how all integrations work and how to manage them.
- Apps Overview — create and configure apps that use the GitHub integration.
- Enterprise Network — how apps deployed from GitHub communicate internally.
How is this guide?
Overview
Skytells integrations connect external services — source control providers, CI/CD systems, and third-party platforms — to a project and its apps. Learn what integrations are, how they work, and which ones are available.
Overview
Skytells Infrastructure gives you instant access to virtual machines, isolated enterprise networks, and VPCs — provisioned in seconds from the Console. It is raw compute and networking, separate from the project-level app and database runtime.