> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# App Deploys

> Faça deploy de aplicações web diretamente do Devin Desktop para o Netlify com URLs públicas, builds automáticos e reivindicação de projetos para personalização adicional em Next.js, React, Vue e Svelte.

O App Deploys permite implantar aplicações web e sites diretamente no Devin Desktop por meio de chamadas da ferramenta Cascade. Esse recurso ajuda você a compartilhar seu trabalho com URLs públicas, atualizar suas implantações e reivindicar projetos para personalização adicional. Esse recurso está em beta, e o suporte a frameworks adicionais, builds mais robustos etc. chegará em breve.

<Frame>
  <img src="https://mintcdn.com/cognitionai/hxeMffzXgF_RWx-U/desktop/assets/windsurf/cascade/app-deploys-ui.png?fit=max&auto=format&n=hxeMffzXgF_RWx-U&q=85&s=874c98c462094169ac798cecca2a6221" width="2072" height="576" data-path="desktop/assets/windsurf/cascade/app-deploys-ui.png" />
</Frame>

<div id="overview">
  ## Visão geral
</div>

Com o App Deploys, você pode:

* Implantar um site ou app web em JS em um domínio público
* Reimplantar na mesma URL após fazer alterações
* Reivindicar o projeto para sua conta pessoal

<Warning>
  O App Deploys se destina principalmente a fins de pré-visualização. Para
  aplicações em produção com dados sensíveis, recomendamos reivindicar sua implantação e
  seguir as práticas recomendadas de segurança.
</Warning>

<div id="supported-providers">
  ## Provedores compatíveis
</div>

Atualmente, oferecemos suporte ao seguinte provedor de implantação:

* **Netlify** - Para sites estáticos e aplicações web

<Note>O suporte a provedores adicionais está planejado para versões futuras.</Note>

<div id="how-it-works">
  ## Como funciona
</div>

Quando você usa o App Deploys, seu código é importado para o nosso servidor e implantado no provedor por meio da nossa conta principal. O site implantado ficará disponível em uma URL pública no seguinte formato:

```
<SUBDOMAIN_NAME>.windsurf.build
```

<video autoPlay muted loop playsInline className="w-full aspect-video" src="https://mintcdn.com/cognitionai/hxeMffzXgF_RWx-U/desktop/assets/windsurf/cascade/app-deploys-demo1.mp4?fit=max&auto=format&n=hxeMffzXgF_RWx-U&q=85&s=e2e734de5e247eb6d310f90e657da37f" data-path="desktop/assets/windsurf/cascade/app-deploys-demo1.mp4" />

<div id="deployment-process">
  ### Processo de implantação
</div>

1. Cascade analisa seu projeto para determinar o framework adequado
2. Os arquivos do seu projeto são importados com segurança para o nosso servidor
3. A implantação é criada na plataforma do provedor
4. Você recebe uma URL pública e um link para reivindicação

<div id="project-configuration">
  ### Configuração do projeto
</div>

Para facilitar reimplantações, criamos um arquivo `windsurf_deployment.yaml` na raiz do seu projeto. Esse arquivo contém informações para implantações futuras, como um ID do projeto e o framework.

<div id="using-app-deploys">
  ## Como usar App Deploys
</div>

Para fazer o deploy da sua aplicação, basta pedir ao Cascade algo como:

```
"Deploy this project to Netlify"
"Update my deployment"
```

O Cascade vai orientar você ao longo do processo e ajudar a resolver problemas comuns.

<div id="team-deploys">
  ## Implantações da equipe
</div>

<Note> Você precisará de privilégios de administrador da equipe para habilitar ou desabilitar esse recurso.</Note>

Usuários dos planos Teams e Enterprise podem conectar suas contas da Netlify às contas do Devin Desktop e implantar na sua equipe da Netlify.

Esse recurso pode ser habilitado ou desabilitado em Configurações da equipe, que você pode acessar pela página de perfil ou clicando [aqui](https://windsurf.com/team/settings).

<div id="security-considerations">
  ## Considerações de segurança
</div>

<Warning>
  Seu código será importado para os nossos servidores para implantação. Implante apenas
  código que você se sinta à vontade para compartilhar publicamente.
</Warning>

Tomamos várias precauções para garantir a segurança:

* Limites de tamanho de arquivo e validação
* Limitação de taxa com base no nível da sua conta
* Tratamento seguro dos arquivos do projeto

Para mais privacidade, acesse [clear-cookies.windsurf.build](https://clear-cookies.windsurf.build) para verificar se há cookies definidos por sites em `windsurf.build` e removê-los. Se algum cookie aparecer, ele não deveria estar lá, e removê-lo ajuda a evitar problemas de cookies entre sites e mantém sua experiência limpa.

Os sites do Devin Desktop são criados por humanos e IA e, embora incentivemos a IA a tomar decisões alinhadas às melhores práticas, é importante manter a cautela. O Devin Desktop não se responsabiliza por problemas causados por sites implantados por nossos usuários.

<div id="claiming-your-deployment">
  ## Reivindicando sua implantação
</div>

Após o deploy, você receberá uma URL para reivindicação. Ao acessar esse link, você poderá reivindicar o projeto na sua conta pessoal do provedor, o que dá a você:

* Controle total sobre a implantação
* Acesso a recursos específicos do provedor
* Possibilidade de modificar o nome de domínio
* Acesso direto a logs e informações de build

<Note>
  Implantações não reivindicadas podem ser excluídas após um determinado
  período. Recomendamos reivindicar projetos importantes o quanto antes.
</Note>

<div id="rate-limits">
  ## Limites
</div>

Para evitar abusos, aplicamos estes limites por nível:

| Plano | Implantações por dia | Máx. de sites não reivindicados |
| ----- | -------------------- | ------------------------------- |
| Free  | 1                    | 1                               |
| Pro   | 10                   | 5                               |

<div id="supported-frameworks">
  ## Frameworks compatíveis
</div>

O App Deploys é compatível com a maioria dos frameworks JavaScript mais populares, incluindo:

* Next.js
* React
* Vue
* Svelte
* Sites estáticos em HTML/CSS/JS

<div id="troubleshooting">
  ## Solução de problemas
</div>

<div id="failed-deployment-build">
  ### Falha no build de implantação
</div>

Se a implantação falhar:

1. Verifique os logs de build fornecidos pelo Cascade
2. Certifique-se de que seu projeto consegue gerar a build localmente (execute `npm run build` para testar)
3. Verifique se seu projeto segue a estrutura recomendada pelo framework
4. Consulte a documentação sobre como implantar seu framework no Netlify via [`netlify.toml`](https://docs.netlify.com/configure-builds/file-based-configuration/)
5. Considere reivindicar o projeto para acessar logs detalhados no painel do provedor

<Warning>
  Não podemos fornecer suporte direto para erros de build específicos do
  framework. Se a implantação falhar devido a problemas no código, faça a
  depuração localmente ou reivindique o projeto para trabalhar com a equipe de
  suporte do provedor.
</Warning>

<div id="netlify-site-not-found">
  ### Site da Netlify não encontrado
</div>

<Frame>
  <img src="https://mintcdn.com/cognitionai/hxeMffzXgF_RWx-U/desktop/assets/windsurf/cascade/netlify-site-not-found.png?fit=max&auto=format&n=hxeMffzXgF_RWx-U&q=85&s=3d3f9ec85716d984c8da2d3847b28afa" width="2430" height="1618" data-path="desktop/assets/windsurf/cascade/netlify-site-not-found.png" />
</Frame>

Isso provavelmente significa que seu build falhou. Reivindique a propriedade do seu site (você pode encontrá-lo no seu [histórico de implantações](https://windsurf.com/deploy)) e verifique os logs de build para mais detalhes. Muitas vezes, você pode colar os logs de build no Cascade e pedir ajuda.

<div id="changing-your-subdomain-url">
  ### Alterar seu subdomínio / URL
</div>

<div id="updating-netlifyapp-domain">
  #### Atualizando o domínio `netlify.app`
</div>

Você pode alterar seu subdomínio reivindicando sua implantação e atualizando as Configurações do site na Netlify. Isso atualizará seu domínio `.netlify.app`.

<div id="updating-custom-windsurfbuild-subdomain">
  #### Atualizando o subdomínio personalizado `.windsurf.build`
</div>

<Warning>
  Você não pode alterar seu subdomínio personalizado `.windsurf.build` depois de
  fazer o deploy. Em vez disso, será necessário fazer o deploy de um novo site com um novo subdomínio.
</Warning>

Para atualizar seu subdomínio personalizado `.windsurf.build`, será necessário fazer o deploy de um novo site com um novo subdomínio:

1. Exclua o arquivo `windsurf_config.yaml` do seu projeto
2. Peça ao Cascade para fazer o deploy de um novo site com um novo subdomínio e informe qual você quer
3. Pode ser útil iniciar uma nova conversa ou limpar suas memórias geradas automaticamente para que o Cascade não tente fazer o deploy novamente no subdomínio antigo
4. Ao criar uma nova implantação, você poderá clicar no botão "Edit" na UI do subdomínio para atualizá-lo antes de clicar em "Deploy"

<div id="error-unable-to-get-project-name-for-project-id">
  ### Erro: `Unable to get project name for project ID`
</div>

Esse erro ocorre quando o ID do projeto não é encontrado em nosso sistema ou quando o Cascade está usando incorretamente o subdomínio como ID do projeto. Para corrigir isso:

1. Verifique se o projeto ainda existe na sua conta da Netlify (pressupondo que ele tenha sido reivindicado).
2. Verifique se o ID do projeto está no arquivo `windsurf_deployment.yaml`. Se não estiver, você pode baixar o arquivo de configuração no menu suspenso do [histórico de implantações](https://windsurf.com/deploy).
3. Tente implantar novamente e instrua o Cascade a usar mais explicitamente o `project_id` do arquivo `windsurf_deployment.yaml`

<Frame>
  <img src="https://mintcdn.com/cognitionai/hxeMffzXgF_RWx-U/desktop/assets/windsurf/cascade/app-deploys-download-config-file.png?fit=max&auto=format&n=hxeMffzXgF_RWx-U&q=85&s=fbbc9d8789e65ff8926bd8dad20e828d" width="1966" height="1408" data-path="desktop/assets/windsurf/cascade/app-deploys-download-config-file.png" />
</Frame>
