Azion CLI deploy
Comando da Azion CLI que faz o build de um projeto e o deploy na Azion, remotamente ou com um build local, com cada flag, o tipo e o padrão.
O comando deploy da Azion CLI faz o build do projeto no diretório atual e o deploy dele na Azion. Ele cria ou atualiza a Application do projeto, o Workload dele e, para um site estático, o bucket do Object Storage que guarda os arquivos. Por padrão, o build é executado na Azion; com --local, ele é executado na sua máquina. As opções que todo comando aceita, como --format, --out e -y, estão em Opções globais.
Uso
azion deploy lê as configurações do projeto na pasta azion do diretório atual e faz o deploy do projeto:
| Flag | Curta | Tipo | Padrão | Descrição |
|---|---|---|---|---|
--alias-env |
— | — | — | Passa --alias-env para a fase de build do deploy, para que as variáveis lidas dos arquivos .env do projeto recebam um prefixo formado a partir do nome do projeto. Para mais informações, consulte Azion CLI build. |
--auto |
— | — | — | Executa o comando inteiro sem parar para uma pergunta. |
--config-dir |
— | string | "azion" |
Caminho relativo para a pasta que guarda os seus arquivos azion.json e args.json. |
--config-file |
— | string | — | Caminho para o arquivo azion.config usado no deploy, como azion.staging.config.cjs. Sem ela, o deploy usa o arquivo azion.config.* do diretório atual. Em um deploy remoto, o padrão, o arquivo precisa estar dentro do diretório do projeto, porque só esse diretório é enviado. Com --local, o deploy grava o prefixo de storage nesse arquivo e faz o build a partir dele. Um arquivo inexistente, ou um arquivo fora do projeto em um deploy remoto, é rejeitado antes que o deploy altere qualquer coisa na sua máquina ou na Azion. |
--dry-run |
— | — | — | Lista as etapas que o deploy executaria, sem executá-las. O dry run não cria nem altera nenhum recurso e não altera azion/azion.json, e --format json imprime a lista em JSON. As etapas são as do fluxo --local, também quando você executa azion deploy --dry-run sem --local. |
--env |
— | string | ".edge/.env" |
Caminho relativo para o seu arquivo .env. |
--local |
— | — | — | Executa o build e o deploy na sua máquina em vez de na Azion. Use-a quando você precisa do seu próprio ambiente de build ou de mais controle sobre o build. |
--no-prompt |
— | — | — | Retorna o erro em vez de fazer uma pergunta quando uma etapa falha. |
--path |
— | string | — | Caminho para a pasta que guarda os seus arquivos estáticos. |
--skip-build |
— | — | — | Faz o deploy sem executar o build antes, então faz o deploy da saída que um azion build anterior deixou na pasta .edge. |
--skip-framework-build |
— | — | — | Pula o build do framework que é executado antes de azion build. |
--sync |
— | — | — | Sincroniza o arquivo azion.json local com os recursos remotos. |
--workers |
— | int | auto-calculated based on CPU cores, max 20 |
Número de workers de upload que enviam arquivos ao mesmo tempo. |
--writable-bucket |
— | — | — | Cria o bucket do projeto com acesso de leitura e gravação. |
A CLI gerencia as credenciais de storage que cada rota precisa, então nenhum envio pede uma credencial sua. Um deploy padrão envia os arquivos-fonte para o build remoto, com as credenciais em ~/.azion/<profile>/settings.toml. Com --local, a própria CLI envia os arquivos estáticos já construídos e guarda um conjunto de credenciais por bucket em ~/.azion/<profile>/credentials.toml.
Exemplos
Cada exemplo mostra o comando e a saída que ele imprime.
Fazer o deploy com um build remoto
Este comando faz o primeiro deploy de um site estático. A CLI envia os arquivos de código-fonte, e o build é executado na Azion:
O comando imprime um link para a página Deploy do Azion Console, onde Deploy Log mostra o progresso do deploy, e depois o domínio do site:
O primeiro deploy pode levar vários minutos para responder a partir de todas as localidades; os deploys seguintes levam cerca de dois minutos.
O comando grava o ID de cada recurso que cria em azion/azion.json. O próximo deploy lê esses IDs e atualiza os mesmos recursos em vez de criar novos:
O primeiro deploy também grava um azion/args.json vazio. Um projeto cujo azion.config declara uma function e nenhum arquivo estático faz o deploy só da function. O azion.json dele tem então um bucket vazio e null em connectors e cache-settings. Ele carrega uma entrada function com o id da function e o instance-id da function instance dela. Um projeto que declara os dois carrega os dois conjuntos de IDs.
Fazer o deploy com um build local
Este comando faz o deploy de uma alteração no mesmo site. A CLI faz o build do projeto na sua máquina, envia os arquivos e atualiza cada recurso pelo ID em azion/azion.json:
O comando executa o build por conta própria, exista ou não uma pasta .edge de um azion build anterior. Só --skip-build e --skip-framework-build o impedem. Antes do build, ele grava um novo prefixo de storage em azion.config.cjs, ou em azion.config.mjs quando o projeto tem os dois arquivos:
Um deploy seguinte leva cerca de dois minutos para responder a partir de todas as localidades.
Pré-visualizar um deploy
Este comando simula um deploy local do mesmo site:
O comando termina sem alterar nenhum recurso, e azion/azion.json mantém o mesmo conteúdo.
Erros
| Erro | Causa | O que fazer |
|---|---|---|
Failed to capture deploy logs: <reason>. Please check your account to verify if the resources were successfully created. |
O upload terminou, e a CLI não conseguiu acompanhar o build e o deploy que rodam na Azion. O deploy pode ter criado apenas parte dos recursos do projeto. | Execute de novo com --debug para imprimir o log do build que roda na Azion. Para todas as correções, consulte Failed to capture deploy logs. |