> ## Documentation Index
> Fetch the complete documentation index at: https://baseten-philip-copy-0226.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# truss push

> Pushes a truss to a TrussRemote.

```Usage
truss push [OPTIONS] [TARGET_DIRECTORY]
```

## Options

<ParamField body="--remote" type="TEXT">
  Name of the remote in .trussrc to patch changes to.
</ParamField>

<ParamField body="--publish" type="BOOL">
  Push the truss as a published deployment. If no production deployment exists, promote the truss to production after deploy completes.
</ParamField>

<ParamField body="--promote" type="BOOL">
  Push the truss as a published deployment. Even if a production deployment exists, promote the truss to production after deploy completes.
</ParamField>

<ParamField body="--preserve-previous-production-deployment" type="BOOL">
  Preserve the previous production deployment's autoscaling setting. When not specified, the previous production deployment will be updated to allow it to scale to zero. Can only be use in combination with --promote option.
</ParamField>

<ParamField body="--trusted" type="BOOL">
  Give Truss access to secrets on remote host.
</ParamField>

<ParamField body="--deployment-name" type="TEXT">
  Name of the deployment created by the push. Can only be used in combination with --publish or --promote. Deployment name must only contain alphanumeric, '.', '-' or '\_' characters.
</ParamField>

<ParamField body="--help">
  Show help message and exit.
</ParamField>

## Arguments

<ParamField body="TARGET_DIRECTORY" type="Optional">
  A Truss directory. If none, use current directory.
</ParamField>

## Examples

```
truss push
```

```
truss push --publish /path/to/my-truss
```

```
truss push --remote baseten --publish --trusted
```

```
truss push --remote baseten --publish --deployment-name my-truss_1.0
```
