Implantar um aplicativo Web estático com a CLI dos Aplicativos Web Estáticos do Azure
Importante
Para melhorar a segurança das implantações da CLI de Aplicativos Web Estáticos, foi introduzida uma alteração significativa que exige que você atualize para a versão mais recente (2.0.2) da CLI de Aplicativos Web Estáticos até 15 de janeiro de 2025.
A CLI (SWA CLI) dos Aplicativos Web Estáticos do Azure apresenta o deploy
comando para implantar o projeto atual nos Aplicativos Web Estáticos do Azure.
Os cenários comuns de implantação incluem:
- Um aplicativo front-end sem uma API
- Um aplicativo front-end com uma API
- Aplicativos Blazor
Token de implantação
A SWA CLI oferece suporte à implantação usando um token de implantação para habilitar configurações em ambientes de CI/CD.
Você pode obter um token de implantação de:
Portal do Azure: Início → Aplicativo Web estático → sua instância Visão geral → → Gerenciar token de implantação
CLI do Azure: Usando o
secrets list
comando:az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
CLI de Aplicativos Web Estáticos do Azure: Usando o
deploy
comando:swa deploy --print-token
Em seguida, você pode usar o valor do token com o --deployment-token <TOKEN>
ou pode criar uma variável de ambiente chamada SWA_CLI_DEPLOYMENT_TOKEN
e defini-la como o token de implantação.
Importante
Não armazene tokens de implantação em um repositório público.
Implantar um aplicativo front-end sem uma API
Você pode implantar um aplicativo front-end sem uma API nos Aplicativos Web Estáticos do Azure. Se o aplicativo front-end exigir uma etapa de compilação, execute swa build
ou consulte as instruções de compilação do aplicativo.
Selecione a opção que melhor se adapta às suas necessidades para configurar sua implantação
Opção 1: Na pasta build que você gostaria de implantar, execute o comando deploy:
cd build/ swa deploy
Nota
A pasta de compilação deve conter o conteúdo estático do seu aplicativo a ser implantado.
Opção 2: Você também pode implantar uma pasta específica:
Se o aplicativo front-end exigir uma etapa de compilação, execute
swa build
ou consulte as instruções de compilação do aplicativo.Implante seu aplicativo:
swa deploy ./my-dist
Implantar um aplicativo front-end com uma API
Use as etapas a seguir para implantar um aplicativo que tenha pontos de extremidade de API.
Se o aplicativo front-end exigir uma etapa de compilação, execute
swa build
ou consulte as instruções de compilação do aplicativo.Verifique se a versão do tempo de execução do idioma da API no arquivo staticwebapp.config.json está definida corretamente, por exemplo:
{ "platform": { "apiRuntime": "node:16" } }
Nota
Se o seu projeto não tiver o arquivo staticwebapp.config.json , adicione um na sua
outputLocation
pasta.Implante seu aplicativo:
swa deploy ./my-dist --api-location ./api
Implantar um aplicativo Blazor
Você pode implantar um aplicativo Blazor usando as etapas a seguir.
Crie seu aplicativo Blazor no modo Lançamento :
dotnet publish -c Release -o bin/publish
Na raiz do seu projeto, execute o comando deploy:
swa deploy ./bin/publish/wwwroot --api-location ./Api
Implantar usando um arquivo de configuração
Nota
O caminho para outputLocation
deve ser relativo ao appLocation
.
Se você estiver usando um swa-cli.config.json
arquivo de configuração em seu projeto com uma única entrada de configuração, poderá implantar seu aplicativo executando as etapas a seguir.
Para referência, um exemplo de uma única entrada de configuração se parece com o trecho de código a seguir.
{
"configurations": {
"my-app": {
"appLocation": "./",
"apiLocation": "api",
"outputLocation": "frontend",
"start": {
"outputLocation": "frontend"
},
"deploy": {
"outputLocation": "frontend"
}
}
}
}
Se o aplicativo front-end exigir uma etapa de compilação, execute
swa build
ou consulte as instruções de compilação do aplicativo.Implante seu aplicativo.
swa deploy
Se você tiver várias entradas de configuração, poderá fornecer a ID de entrada para especificar qual delas usar:
swa deploy my-otherapp
Opções
A seguir estão as opções que você pode usar com swa deploy
:
-
-a, --app-location <path>
: a pasta que contém o código-fonte do aplicativo front-end (padrão: ".
") -
-i, --api-location <path>
: a pasta que contém o código-fonte do aplicativo API -
-O, --output-location <path>
: a pasta que contém a fonte construída do aplicativo front-end. O caminho é relativo a--app-location
(padrão: ".
") -
-w, --swa-config-location <swaConfigLocation>
: o diretório onde o arquivo staticwebapp.config.json está localizado -
-d, --deployment-token <secret>
: o token secreto usado para autenticar com os Static Web Apps -
-dr, --dry-run
: simular um processo de implantação sem realmente executá-lo (padrão:false
) -
-pt, --print-token
: imprimir o token de implantação (padrão:false
) -
--env [environment]
: o tipo de ambiente de implantação onde implantar o projeto (padrão: "preview
") -
-S, --subscription-id <subscriptionId>
: ID de assinatura do Azure usada por este projeto (padrão:process.env.AZURE_SUBSCRIPTION_ID
) -
-R, --resource-group <resourceGroupName>
: Grupo de recursos do Azure usado por este projeto -
-T, --tenant-id <tenantId>
: ID do locatário do Azure (padrão:process.env.AZURE_TENANT_ID
) -
-C, --client-id <clientId>
: ID do cliente do Azure -
-CS, --client-secret <clientSecret>
: Segredo do cliente do Azure -
-n, --app-name <appName>
: Nome do aplicativo Aplicativo Web Estático do Azure -
-cc, --clear-credentials
: limpar credenciais persistentes antes de entrar (padrão:false
) -
-u, --use-keychain
: habilitar o uso do conjunto de chaves nativo do sistema operacional para credenciais persistentes (padrão:true
) -
-nu, --no-use-keychain
: desativar usando as chaves nativas do sistema operacional -
-h, --help
: exibir ajuda para o comando
Utilização
Implante usando um token de implantação.
swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>
Implante usando um token de implantação das variáveis de ambiente.
SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/
Implantar usando swa-cli.config.json
arquivo
swa deploy
swa deploy myconfig
Imprima o token de implantação.
swa deploy --print-token
Implante em um ambiente específico.
swa deploy --env production