Implantar um aplicativo Web estático com a CLI de Aplicativos Web Estáticos do Azure
A CLI dos Aplicativos Web Estáticos do Azure (CLI do SWA) apresenta o comando para implantar o deploy
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 SCI SWA 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: Home → Aplicativo Web Estático → Visão geral do → de instância → Gerenciar token de implantação
CLI do Azure: usando o
secrets list
comando:az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
CLI dos 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 ou você pode criar uma variável de ambiente chamada SWA_CLI_DEPLOYMENT_TOKEN
e defini-lo para o --deployment-token <TOKEN>
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 de compilação que você deseja implantar, execute o comando deploy:
cd build/ swa deploy
Observação
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 da linguagem da API no arquivo staticwebapp.config.json está definida corretamente, por exemplo:
{ "platform": { "apiRuntime": "node:16" } }
Observação
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 de 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
Observação
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 da 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 de API-O, --output-location <path>
: a pasta que contém a origem compilada 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 Aplicativos Web Estáticos-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 usando as chaves nativas 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
Uso
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
Implantar em um ambiente específico.
swa deploy --env production