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:

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

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

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

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

  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 de lançamento :

    dotnet publish -c Release -o bin/publish
    
  2. 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"
      }
    }
  }
}
  1. Se o aplicativo front-end exigir uma etapa de compilação, execute swa build ou consulte as instruções de compilação do aplicativo.

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

Próximas etapas