82 lines
3.6 KiB
Plaintext
82 lines
3.6 KiB
Plaintext
---
|
|
title: "Syncing environment variables from your Vercel projects"
|
|
sidebarTitle: "Vercel sync env vars"
|
|
description: "This example demonstrates how to sync environment variables from your Vercel project to Trigger.dev."
|
|
---
|
|
|
|
import VercelDocsCards from "/snippets/vercel-docs-cards.mdx";
|
|
|
|
<Warning>
|
|
**Deprecated when using the Vercel integration.** If you are using the [Vercel
|
|
integration](/vercel-integration), do not use `syncVercelEnvVars` — the integration handles env
|
|
var syncing natively and using both together can cause env vars to be incorrectly populated.
|
|
|
|
If you are **not** using the Vercel integration, `syncVercelEnvVars` is still supported. Continue
|
|
with the configuration below.
|
|
</Warning>
|
|
|
|
## Build configuration
|
|
|
|
If you are not using the [Vercel integration](/vercel-integration), you can sync environment variables manually by adding the `syncVercelEnvVars` build extension to your `trigger.config.ts` file. This extension will run automatically every time you deploy your Trigger.dev project.
|
|
|
|
<Note>
|
|
You need to set the `VERCEL_ACCESS_TOKEN` and `VERCEL_PROJECT_ID` environment variables, or pass
|
|
in the token and project ID as arguments to the `syncVercelEnvVars` build extension. If you're
|
|
working with a team project, you'll also need to set `VERCEL_TEAM_ID`, which can be found in your
|
|
team settings. You can find / generate the `VERCEL_ACCESS_TOKEN` in your Vercel
|
|
[dashboard](https://vercel.com/account/settings/tokens). Make sure the scope of the token covers
|
|
the project with the environment variables you want to sync.
|
|
</Note>
|
|
|
|
<Note>
|
|
When running the build from a Vercel build environment (e.g., during a Vercel deployment), the
|
|
environment variable values will be read from `process.env` instead of fetching them from the
|
|
Vercel API. This is determined by checking if the `VERCEL` environment variable is present. The
|
|
API is still used to determine which environment variables are configured for your project, but
|
|
the actual values come from the local environment.
|
|
</Note>
|
|
|
|
```ts trigger.config.ts
|
|
import { defineConfig } from "@trigger.dev/sdk";
|
|
import { syncVercelEnvVars } from "@trigger.dev/build/extensions/core";
|
|
|
|
export default defineConfig({
|
|
project: "<project ref>",
|
|
// Your other config settings...
|
|
build: {
|
|
// Add the syncVercelEnvVars build extension
|
|
extensions: [
|
|
syncVercelEnvVars({
|
|
// A personal access token created in your Vercel account settings
|
|
// Used to authenticate API requests to Vercel
|
|
// Generate at: https://vercel.com/account/tokens
|
|
vercelAccessToken: process.env.VERCEL_ACCESS_TOKEN,
|
|
// The unique identifier of your Vercel project
|
|
// Found in Project Settings > General > Project ID
|
|
projectId: process.env.VERCEL_PROJECT_ID,
|
|
// Optional: The ID of your Vercel team
|
|
// Only required for team projects
|
|
// Found in Team Settings > General > Team ID
|
|
vercelTeamId: process.env.VERCEL_TEAM_ID,
|
|
}),
|
|
],
|
|
},
|
|
});
|
|
```
|
|
|
|
<Note>
|
|
[Build extensions](/config/extensions/overview) allow you to hook into the build system and
|
|
customize the build process or the resulting bundle and container image (in the case of
|
|
deploying). You can use pre-built extensions or create your own.
|
|
</Note>
|
|
|
|
## Running the sync operation
|
|
|
|
To sync the environment variables, all you need to do is run our `deploy` command. You should see some output in the console indicating that the environment variables have been synced, and they should now be available in your Trigger.dev dashboard.
|
|
|
|
```bash
|
|
npx trigger.dev@latest deploy
|
|
```
|
|
|
|
<VercelDocsCards />
|