docs/snippets/cli-commands-deploy.mdx
import ProjectPathArg from "/snippets/cli-args-project-path.mdx"; import CommonOptions from "/snippets/cli-options-common.mdx"; import ProjectRefOption from "/snippets/cli-options-project-ref.mdx"; import EnvFileOption from "/snippets/cli-options-env-file.mdx"; import ConfigFileOption from "/snippets/cli-options-config-file.mdx"; import SkipUpdateCheckOption from "/snippets/cli-options-skip-update-check.mdx"; import BranchOption from "/snippets/cli-options-branch.mdx";
Run the command like this:
<CodeGroup>npx trigger.dev@latest deploy
pnpm dlx trigger.dev@latest deploy
yarn dlx trigger.dev@latest deploy
It performs a few steps to deploy:
When deploying from CI/CD environments such as GitHub Actions, GitLab CI, or Jenkins, you need to authenticate non-interactively by setting the TRIGGER_ACCESS_TOKEN environment variable. Please see the CI / GitHub Actions guide for more information.
npx trigger.dev@latest deploy [path]
Repeating an id that is already deployed doesn't build again: the CLI reports the existing version, sets the same outputs, and exits successfully. Repeating an id that has a build in flight is an error. An id whose build failed rebuilds normally.
The short-circuit is keyed on the id, not on the build inputs — so redeploying the same id after changing a synced environment variable produces no new build. </ParamField>
<ParamField body="Force" type="--force"> Start a new build for an `--external-id` that already has one. Non-destructive with respect to deployments that already succeeded — both remain and the newer version wins. If a build for that id is still in flight, `--force` **cancels** it first, so one id never has two live builds. A cancelled build usually stops within seconds, but one running on another machine can keep going briefly before it notices. Requires `--external-id`. </ParamField> <ParamField body="Local build" type="--local-build"> Force building the deployment image locally using your local Docker. This is automatic when self-hosting. </ParamField>These options are available on most commands.
<CommonOptions />When self-hosting, builds are performed locally by default. Once you've logged in to your self-hosted instance using the CLI, you can deploy with:
npx trigger.dev@latest deploy
For CI/CD environments, set TRIGGER_ACCESS_TOKEN and TRIGGER_API_URL environment variables. See the GitHub Actions guide for more details.