Compartilhar via


Implantar um aplicativo Web estático com a CLI de Aplicativos Web Estáticos do Azure

Importante

Para aprimorar 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 de SWA (CLI dos Aplicativos Web Estáticos) do Azure apresenta o comando deploy para implantar o projeto atual nos Aplicativos Web Estáticos do Azure.

Os cenários de implantação comuns incluem:

  • Um aplicativo de front-end sem uma API
  • Um aplicativo de front-end com uma API
  • Aplicativo Blazor

Token de implantação

A CLI de SWA dá 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 do:

  • Portal do Azure: Página inicial→ Aplicativo Web Estático → Sua Instância → Visão Geral → Gerenciar token de implantação

  • CLI do Azure: usando o comando secrets list:

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • CLI de Aplicativos Web Estáticos do Azure: usando o comando deploy:

    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 de front-end sem uma API

Você pode implantar um aplicativo de front-end sem uma API nos Aplicativos Web Estáticos do Azure. Se o aplicativo de front-end exigir uma etapa de build, execute swa build ou consulte as instruções de build do aplicativo.

Selecione a opção que melhor atende às suas necessidades para configurar sua implantação

  • Opção 1: na pasta de build que você deseja implantar, execute o comando de implantação:

    cd build/
    swa deploy
    

    Observação

    A pasta de build precisa conter o conteúdo estático do aplicativo a ser implantado.

  • Opção 2: Você também pode implantar uma pasta específica:

    1. Se o aplicativo de front-end exigir uma etapa de build, execute swa build ou consulte as instruções de build do aplicativo.

    2. Implante seu aplicativo:

    swa deploy ./my-dist
    

Implantar um aplicativo de front-end com uma API

Use as etapas a seguir para implantar um aplicativo que tem pontos de extremidade de API.

  1. Se o aplicativo de front-end exigir uma etapa de build, execute swa build ou consulte as instruções de build do aplicativo.

  2. Verifique se a versão de runtime da linguagem da API no arquivo staticwebapp.config.json está definida corretamente, por exemplo:

    {
      "platform": {
        "apiRuntime": "node:16"
      }
    }
    

    Observação

    Se o projeto não tiver o arquivo staticwebapp.config.json, adicione um em sua pasta outputLocation.

  3. 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.

  1. Crie seu aplicativo Blazor no modo Release:

    dotnet publish -c Release -o bin/publish
    
  2. Na raiz do 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 precisa ser relativo ao appLocation.

Se você estiver usando um arquivo de configuração swa-cli.config.json em seu projeto com apenas uma entrada de configuração, poderá implantar seu aplicativo executando as etapas a seguir.

Para referência, um exemplo de apenas uma entrada de configuração se parece com o snippet de código a seguir.

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}
  1. Se o aplicativo de front-end exigir uma etapa de build, execute swa build ou consulte as instruções de build do aplicativo.

  2. 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

Veja a seguir 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 de 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 o código-fonte construído do aplicativo de front-end. O caminho é relativo a --app-location (padrão: ".")
  • -w, --swa-config-location <swaConfigLocation>: o diretório em que o arquivo staticwebapp.config.json está localizado
  • -d, --deployment-token <secret>: o token do segredo 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 no qual 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 Web estático do Azure
  • -cc, --clear-credentials: limpar as credenciais persistidas antes do logon (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: desabilite o uso do conjunto de chaves nativo do sistema operacional
  • -h, --help: exibe a ajuda para o comando

Uso

Implantar 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 o arquivo swa-cli.config.json

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

Próximas etapas