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: ```bash npm npx trigger.dev@latest deploy ``` ```bash pnpm pnpm dlx trigger.dev@latest deploy ``` ```bash yarn yarn dlx trigger.dev@latest deploy ``` This will fail in CI if any version mismatches are detected. Ensure everything runs locally first using the [dev](/cli-dev-commands) command and don't bypass the version checks! It performs a few steps to deploy: 1. Optionally updates packages when running locally. 2. Compiles and bundles the code. 3. Deploys the code to the Trigger.dev instance. 4. Registers the tasks as a new version in the environment (prod by default). ## Deploying from CI 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](/github-actions) for more information. ## Arguments ``` npx trigger.dev@latest deploy [path] ``` ## Options Defaults to `prod` but you can specify `staging` or `preview`. If you specify `preview` we will try and automatically detect the branch name from git. Create a deployable build but don't deploy it. Prints out the build path so you can inspect it. Skips automatically promoting the newly deployed version to the "current" deploy. Turn off syncing environment variables with the Trigger.dev instance. ### Common options These options are available on most commands. ### Self-hosting These options are typically used when [self-hosting](/open-source-self-hosting) or for local development. Builds and loads the image using your local docker. Use the `--registry` option to specify the registry to push the image to when using `--self-hosted`, or just use `--push` to push to the default registry. Load the built image into your local docker. Loads the image into your local docker after building it. Specify the registry to push the image to when using `--self-hosted`. Will automatically enable `--push`. When using the `--self-hosted` flag, push the image to the registry. The namespace to use when pushing the image to the registry. For example, if pushing to Docker Hub, the namespace is your Docker Hub username. The networking mode for RUN instructions when using `--self-hosted`. ## Examples ### Push to Docker Hub (self-hosted) An example of deploying to Docker Hub when using a self-hosted setup: ```bash npx trigger.dev@latest deploy \ --self-hosted \ --load-image \ --registry docker.io \ --namespace mydockerhubusername ```