# 3. Deploy e Ambientes Cloud

### Pré-requisitos

* Seu projeto já roda no **Preview**.
* Você tem permissão para **comprar/provisionar** ambientes (billing).
* (Opcional) Você tem acesso ao **DNS** do domínio, se for usar domínio próprio.

{% hint style="info" %}
**Dev** para testar rápido. **Staging** para validar release. **Prod** para usuários finais.
{% endhint %}

{% stepper %}
{% step %}

### Abra Ambientes Cloud

* [ ] Vá em **Configurações do Projeto → Ambientes Cloud**
  {% endstep %}

{% step %}

### Crie o ambiente

* [ ] Clique em **Purchase Environment**
* [ ] Defina o **nome** do ambiente (ex.: `dev-meuapp`, `staging-meuapp`, `prod-meuapp`)

{% hint style="info" %}
Escolha um nome que deixe o tipo do ambiente óbvio. Evita deploy no lugar errado.
{% endhint %}
{% endstep %}

{% step %}

### Configure domínio e dimensionamento

* [ ] (Opcional) Configure um **domínio** (se você quer URL própria)
* [ ] Configure o **dimensionamento**

{% hint style="info" %}
Comece menor. Aumente depois se houver lentidão, timeout, ou carga real.
{% endhint %}
{% endstep %}

{% step %}

### Provisione e aguarde ficar Ready

* [ ] Prossiga com o provisionamento
* [ ] Aguarde o status ficar **Ready**

<details>

<summary>Tempo esperado</summary>

Normalmente leva alguns minutos. Se ficar parado por muito tempo, siga a seção “Se der errado”.

</details>
{% endstep %}

{% step %}

### Publique (deploy)

* [ ] Clique em **Publicar** e faça o deploy do seu projeto para esse ambiente

{% hint style="info" %}
Evite “spam deploy”. Se precisar, aguarde alguns minutos e tente novamente.
{% endhint %}
{% endstep %}

{% step %}

### Valide o deploy

* [ ] Abra a **URL** do domínio
* [ ] Confirme que a home carrega
* [ ] Faça login e valide um fluxo crítico (ex.: criar/editar um registro)
  {% endstep %}
  {% endstepper %}

### Se der errado

* **Deploy falha com erro:** siga [Problemas de deploy](https://docs.madrix.dev/br/solucao-de-problemas/problemas-de-deploy).
* **Ambiente “Ready”, mas a URL não abre:** se usa domínio próprio, revise DNS e aguarde propagação.
* **Deploy conclui, mas o app não sobe:** trate como problema de **runtime** e siga o diagnóstico no troubleshooting.
