-
-
Notifications
You must be signed in to change notification settings - Fork 847
docs: deploying using the github integration #2598
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+142
−6
Merged
Changes from 2 commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
--- | ||
title: "GitHub integration" | ||
description: "Automatically deploy your tasks on every push to your GitHub repository." | ||
--- | ||
|
||
## How it works | ||
|
||
Once you connect a GitHub repository to your project, you can configure tracking branches for the production and staging environments. | ||
Every push to a tracked branch creates a deployment in the corresponding environment. Preview branch deployments are also supported for pull requests. | ||
|
||
This eliminates the need to manually run the `trigger.dev deploy` command or set up custom CI/CD workflows. | ||
|
||
## Setup | ||
|
||
<Steps> | ||
|
||
<Step title="Install our GitHub app"> | ||
Go to your project's settings page and click `Install GitHub app`. | ||
This will take you to GitHub to authorize the Trigger.dev app for your organization or personal account. | ||
</Step> | ||
|
||
<Step title="Connect your repository"> | ||
Select a repository to connect to your project. | ||
</Step> | ||
|
||
<Step title="Configure branch tracking"> | ||
Choose which branches should trigger automatic deployments: | ||
|
||
- **Production**: The branch that deploys to your production environment , e.g., `main`. | ||
- **Staging**: The branch that deploys to your staging environment. | ||
- **Preview**: Toggle to enable preview deployments for pull requests | ||
</Step> | ||
|
||
<Step title="Customize build settings (optional)"> | ||
Configure how your project is built: | ||
|
||
- **Trigger config file**: Path to your `trigger.config.ts` file. By default, we look for it in the root of your repository. | ||
- **Install command**: Auto-detected by default, but you can override it if necessary. | ||
- **Pre-build command**: Run any commands before building and deploying your project, e.g., `pnpm run prisma:generate`. | ||
</Step> | ||
|
||
</Steps> | ||
|
||
## Branch tracking | ||
|
||
Our GitHub integration uses branch tracking to determine when and where to deploy your code. | ||
|
||
 | ||
|
||
### Production and staging branches | ||
|
||
When you connect a repository, the default branch of your repository will be used as the production tracking branch, by default. | ||
|
||
When you configure a production or staging branch, every push to that branch will trigger a deployment. | ||
Our build server will install the project dependencies, build your project, and deploy it to the corresponding environment. | ||
|
||
If there are multiple consecutive pushes to a tracked branch, the later deployments will be queued until the previous deployment completes. | ||
|
||
<Note> | ||
When you connect a repository, the default branch of your repository will be used as the production tracking branch by default. | ||
You can change this in the git settings of your project. | ||
</Note> | ||
|
||
### Pull requests | ||
|
||
By default, pull requests will be deployed to preview branch environments, enabling you to test changes before merging. | ||
When the pull request is merged or closed, the preview branch is automatically archived. | ||
|
||
The name of the preview branch matches the branch name of the pull request. | ||
|
||
<Note> | ||
Preview branch deployments require the preview environment to be enabled on your project. Learn more about [preview branches](/deployment/preview-branches). | ||
</Note> | ||
|
||
## Disconnecting a repository | ||
|
||
You can disconnect a repository at any time from your project git settings. This will stop automatic deployments triggered from GitHub. | ||
|
||
## Managing repository access | ||
|
||
To add or remove repository access for the Trigger.dev GitHub app, follow the link in the `Connect GitHub repository` modal: | ||
|
||
 | ||
|
||
Alternatively, you can follow these steps on GitHub: | ||
|
||
1. Go to your GitHub account settings | ||
2. Navigate to **Settings** → **Applications** → **Installed GitHub Apps** | ||
3. Click **Configure** next to `Trigger.dev App` | ||
4. Update repository access under `Repository access` | ||
|
||
Changes to repository access will be reflected immediately in your Trigger.dev project settings. | ||
|
||
## Environment variables at build time | ||
|
||
You can expose environment variables during the build and deployment process by prefixing them with `TRIGGER_BUILD_`. | ||
Build extensions will also have access to these variables. | ||
|
||
Build environment variables only apply to deployments in the environment you set them in. | ||
|
||
Learn more about managing [environment variables](/deploy-environment-variables). | ||
|
||
## Using a private npm registry | ||
|
||
If your project uses packages from a private npm registry, you can provide authentication by setting a `TRIGGER_BUILD_NPM_RC` environment variable. | ||
|
||
The value should be the contents of your `.npmrc` file including any token credentials, encoded to base64. | ||
|
||
### Example | ||
|
||
Example `.npmrc` file containing credentials for a private npm registry and a GitHub package registry: | ||
|
||
``` | ||
//registry.npmjs.org/:_authToken=<YOUR_NPM_TOKEN> | ||
@<YOUR_NAMESPACE>:registry=https://npm.pkg.github.com | ||
//npm.pkg.github.com/:always-auth=true | ||
//npm.pkg.github.com/:_authToken=<YOUR_GITHUB_TOKEN> | ||
``` | ||
|
||
Encode it to base64: | ||
|
||
```bash | ||
# Encode your .npmrc file | ||
cat .npmrc | base64 | ||
``` | ||
|
||
Then, set the `TRIGGER_BUILD_NPM_RC` environment variable in your project settings with the encoded value. | ||
|
||
<Note> | ||
The build server will automatically create a `.npmrc` file in the installation directory based on the content of the `TRIGGER_BUILD_NPM_RC` environment variable. | ||
This enables the build server to authenticate to your private npm registry. | ||
</Note> |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.