---
title: Deploy from your computer
new_in: "3.2"
description: "Put a change live from your own computer with the deploy tools you already use, and see what runs on its own and what always asks first."
---

**Deploying from your computer** is Code running your own deploy tools (your
CI, infrastructure-as-code tools, your hosting or cloud provider’s command-line tool) in the
desktop app or the CLI, with their existing sign-in, after you say yes. Use it
when you already deploy with those tools; to put a cloud thread’s work online
instead, see [Publish or Deploy](publish-and-deploy.md). This page covers what
asks first, what runs without asking, and what Ysra never does.

## The rule

A change never goes live by itself. Anything with an effect outside your
computer asks first, every time, in every access mode including **Auto**, and nothing runs if you
say no. Ysra uses each tool’s own sign-in and never signs in for you.

## What asks and what doesn’t

| Kind of command | Example | Asks first? |
|---|---|---|
| Looking | A tool’s status command | No |
| An effect outside your computer | A deploy, a publish, an apply, setting remote environment values | Yes, every time. The card names the exact command and where it runs. |
| Installing a tool the deploy needs | A missing CLI | Yes. See [Install tools with your OK](../desktop/install-tools.md). |
| A push | `git push` | Yes, every time |

See [Approvals and auto mode](../desktop/approvals.md#system-dialogs) in the
desktop app, or [When Ysra asks for your OK](../cli/guide.md#when-ysra-asks-for-your-ok)
in the CLI.

## Deploying a change

<div class="steps" markdown>

### Keep the change

Commit and push it first; that is up to you. See
[Review the diff](../desktop/review.md) and
[Commit and push](../desktop/commit-push.md), or
[Commit, push and undo](../cli/commit-push-undo.md) in the CLI. After a push,
your repository’s CI result is read back into the thread.

### Try it first (optional)

Run it with your own tools, or ask Ysra in the thread to start it and give you
its address. Running it commits and deploys nothing. See
[Try the change yourself](../desktop/review.md#try-the-change-yourself).

### Ask for the deploy

Say it the way you would to a colleague:

```text
› deploy this to staging with our usual script
› run our infrastructure plan for this change and show me what it would create
› deploy the site with my hosting provider's CLI
```

### Approve the card

Read the exact command on the card and approve it, or say no.

</div>

When you open a folder, Ysra notes which tools are installed, by name and
version, never your account names. See
[Your own tools](../cli/machine-setup.md#your-own-tools).

## Deploying to your own servers

| To | See |
|---|---|
| Put a folder on a machine you run, with the file list you approve and the previous version kept | [Deploy a folder to a machine](../machines/deploy-folder.md) |
| Put a site on your server, from an empty folder to a page that answers, with nginx configured and checked | [Deploy a site to your server](../machines/deploy-site.md) |

## What Ysra never does

- Deploy as the last step of a coding task without asking you.
- Sign in to a tool for you, or read your secret files.
- Run a deploy you said no to, or one the card didn’t show.

Work that wasn’t fully checked can still be deployed: Ysra warns, it never
blocks. See [Ysra warns, it never blocks](publish-and-deploy.md#ysra-warns-it-never-blocks).

## If it doesn’t work

| Symptom | What to do |
|---|---|
| The tool isn’t installed | Approve the install card, or install it yourself. |
| The tool’s sign-in has ended | Sign in again with the tool itself; Ysra doesn’t do it for you. |
| You said no by mistake | Ask for the deploy again. |

## Related

- [Publish or Deploy](publish-and-deploy.md) — putting a cloud thread’s work online.
- [Approvals and auto mode](../desktop/approvals.md) — what asks first.
- [Commit and push](../desktop/commit-push.md) — keeping the change before deploying.
- [Deploy a site to your server](../machines/deploy-site.md) — your own server, through a gateway.
