# Primeiro deploy em poucos minutos

Três caminhos completos levam você até lá. Escolha um. Todos terminam no mesmo lugar:

- [Faça o deploy de um template](#faca-o-deploy-de-um-template-pelo-console): Você está começando do zero e quer um projeto pronto.
- [Importe do GitHub](#importe-um-projeto-do-github): Seu projeto já vive em um repositório do GitHub.
- [Faça o deploy com a CLI](#faca-o-deploy-com-a-azion-cli): Seu projeto está na sua máquina e você prefere o terminal.

> **Dica**
>
> Não sabe qual escolher? Siga o caminho do template: ele não precisa de ferramentas locais, e tudo o que você aprende nele vale para os outros dois.

## Antes de começar

Tudo o que você precisa é de uma conta Azion. Você pode criar uma gratuitamente, e ela não pede cartão de crédito. O que for específico de um caminho está listado no próprio caminho.

## Faça o deploy de um template pelo Console

Templates são projetos prontos (e-commerce, blogs, APIs, SSR full-stack) que entram no ar em poucos cliques. Você não precisa de nenhuma ferramenta local.

> **Nota**
>
> Alguns templates são integrados a serviços de terceiros, então você pode precisar criar contas, gerar tokens ou ativar produtos Azion antes do deploy. Templates integrados ao GitHub pedem para conectar sua conta: selecione Connect with GitHub quando solicitado e confirme a conexão na janela que se abre. O guia de cada template lista seus pré-requisitos específicos.

1. **Acesse o Azion Console.**
2. **Clique em + Create na página inicial.**
3. **No modal, selecione Templates.**
4. **Navegue e escolha aquele com que você quer começar.**
5. **Preencha a página de configuração.**
6. **Clique em Deploy, no canto inferior direito.**

Acompanhe o deploy pela janela de logs. Quando terminar, a página mostra o nome da sua aplicação, os logs do deploy e o domínio Azion dela. Alguns templates também criam uma função e aplicam configurações predefinidas para otimizar o desempenho da aplicação. O guia do template lista o que está incluído.

### Teste

Copie o domínio Azion da página de confirmação:

```bash
curl -I https://<your-azion-domain>
# HTTP/2 200
```

Abra a mesma URL no navegador para ver sua aplicação rodando.

> **Nota**
>
> URLs novas podem levar alguns minutos para se propagar até os data centers da Azion. Se você receber um erro logo após o deploy, aguarde um momento e tente de novo.

## Importe um projeto do GitHub

> **Informação**
>
> Você precisa de uma conta no GitHub e de um repositório que use um dos frameworks suportados.

1. **No Azion Console, clique em + Create.**

2. **Selecione Import from Git.**

3. **Conecte a conta Git que possui o repositório.**

4. **Escolha o repositório a importar.**

5. **Dê um nome à aplicação e confira os comandos de build e deploy.**

   A Azion lê os comandos do repositório, então ambos chegam preenchidos para um projeto que ela reconhece — altere-os apenas se o seu build for diferente. O nome vira parte da URL publicada.

6. **Deixe Protect with Azion Firewall desligado, ou ligue para publicar um firewall junto com a aplicação.**

7. **Clique em Create and deploy e acompanhe os logs até o domínio Azion aparecer.**

### Teste

```bash
curl -I https://<your-azion-domain>
# HTTP/2 200
```

Abra o domínio Azion no navegador para ver sua aplicação rodando. Se você receber um erro de imediato, aguarde alguns minutos: URLs novas levam um momento para se propagar até os data centers da Azion.

## Faça o deploy com a Azion CLI

> **Informação**
>
> Você precisa de um projeto local que use um dos frameworks suportados, com as dependências instaladas, ou cria um a partir de um template no passo 3.

**Assistente de IA**

```text
Configure a Azion CLI, faça login, vincule este projeto à minha conta Azion ou inicialize um a partir de um template, faça o deploy e imprima o domínio Azion assim que ele responder 200.
```

1. **Configure a Azion CLI**

   ```bash
   curl -fsSL https://cli.azion.app/install.sh | bash
   ```

2. **Faça login**

   ```bash
   azion login
   ```

   A CLI salva um personal token localmente, que autoriza os comandos seguintes.

3. **Inicialize ou vincule o projeto**

   Para começar de um template, execute o comando onde quer que a pasta do projeto seja criada. Ele pergunta um preset, que é o framework, depois um template, e cria uma pasta com o nome do projeto; aceite instalar as dependências:

   ```bash
   azion init
   ```

   Para usar um projeto que você já tem, execute o comando na pasta raiz dele. Ele pede para confirmar o vínculo, aceitar ou alterar o nome sugerido para a aplicação e escolher o preset que corresponde ao seu framework; a entrada no `.gitignore` e o workflow do GitHub Actions que ele oferece são opcionais:

   ```bash
   azion link
   ```

   Quando qualquer um dos comandos perguntar se deve fazer o deploy, responda não: o próximo passo faz isso.

4. **Faça o deploy**

   ```bash
   azion deploy
   ```

   A CLI faz o build do projeto, envia os arquivos, cria a aplicação com o domínio dela e imprime o domínio ao final.

5. **Teste**

   ```bash
   curl -I https://<your-azion-domain>
   # HTTP/2 200
   ```

   Se você receber um erro de imediato, aguarde alguns minutos: URLs novas levam um momento para se propagar até os data centers da Azion.

## O que você construiu

Você publicou uma aplicação na rede global da Azion e confirmou que ela responde no próprio domínio. O fluxo é o mesmo que você vai usar em projetos de produção.

## Próximos passos

- [Entre em produção](/pt-br/documentacao/plataforma/workloads.md): Adicione um domínio próprio e aponte seu tráfego para a aplicação que você acabou de publicar.
- [Proteja sua aplicação](/pt-br/documentacao/plataforma/firewall.md): Ative a proteção do Firewall e do WAF.
- [Observe sua aplicação](/pt-br/documentacao/plataforma/real-time-metrics.md): Acompanhe métricas e eventos em tempo real.

## Recursos relacionados

- [Applications](/pt-br/documentacao/plataforma/applications.md): O objeto que você acabou de criar: as regras, as origens e as localidades que respondem pelo seu domínio.
- [Functions](/pt-br/documentacao/plataforma/functions.md): Execute seu próprio JavaScript no edge, na requisição ou na resposta, na mesma aplicação.
- [Cache](/pt-br/documentacao/plataforma/applications.md#cache): Decida o que o edge responde da memória, por quanto tempo e por qual chave.
- [Azion CLI](/pt-br/documentacao/devtools/cli.md): Vincule, publique e reverta um projeto do terminal que você já tem aberto.
- [Como a Azion funciona](/pt-br/documentacao/fundamentos/como-funciona.md): Acompanhe a requisição que você acabou de servir pela infraestrutura distribuída da Azion até a sua origem.
