Referência do esquema do manifesto de implantação - AWS Elastic Beanstalk

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Referência do esquema do manifesto de implantação

O manifesto de implantação é um arquivo JSON que define como o Elastic Beanstalk deve implantar e configurar seus aplicativos Windows. Esta seção fornece uma referência abrangente para todas as propriedades e opções de configuração suportadas no esquema do manifesto.

Estrutura do manifesto

O manifesto de implantação segue um esquema JSON específico com a seguinte estrutura de nível superior:

exemplo Estrutura básica do manifesto
{ "manifestVersion": 1, "skipIISReset": false, "iisConfig": { "appPools": [...] }, "deployments": { "msDeploy": [...], "aspNetCoreWeb": [...], "custom": [...] } }

Propriedades de nível superior

manifestVersion(obrigatório)

Tipo: número

Padrão: 1

Valores válidos: 1

Especifica a versão do esquema do manifesto. Atualmente, somente a versão 1 é suportada.

skipIISReset (opcional)

Tipo: booliano

Padrão: falso

Controla se o IIS é redefinido durante as implantações do aplicativo. Esse sinalizador afeta tanto os tipos de aspNetCoreWeb implantação msDeploy quanto os tipos de implantação.

Comportamento:

  • Não especificado ou false (padrão): as redefinições do IIS são realizadas durante as operações de instalação, desinstalação e atualização. Esse é o comportamento tradicional.

  • true: as redefinições do IIS são ignoradas durante as operações de implantação.

Benefícios:

  • Tempo de inatividade reduzido — os aplicativos sofrem menos interrupções de serviço durante as implantações.

  • Implantações mais rápidas — elimina o tempo necessário para que o IIS seja totalmente reiniciado e reinicializado.

nota

Ao usarskipIISReset, a RestartAppServeroperação executa uma redefinição do IIS independentemente dessa configuração de sinalizador.

Exemplo:

{ "manifestVersion": 1, "skipIISReset": true, "deployments": { "aspNetCoreWeb": [ { "name": "my-dotnet-core-app", "parameters": { "archive": "dotnet-core-app.zip", "iisPath": "/" } } ] } }
deployments(obrigatório)

Tipo: Objeto

Contém as configurações de implantação para seus aplicativos. Esse objeto pode incluirmsDeploy,aspNetCoreWeb, e tipos de custom implantação.

iisConfig (opcional)

Tipo: Objeto

Define as configurações do IIS a serem aplicadas antes da implantação dos aplicativos. Atualmente, oferece suporte à configuração do pool de aplicativos.

Configuração do IIS

A iisConfig seção permite que você defina as configurações do IIS antes de implantar seus aplicativos. Isso é particularmente útil para configurar grupos de aplicativos com configurações específicas.

Pools de aplicativos

Os pools de aplicativos fornecem isolamento entre aplicativos e permitem que você defina as configurações de tempo de execução para grupos de aplicativos.

exemplo Configuração do pool de aplicativos
{ "iisConfig": { "appPools": [ { "name": "MyAppPool", "enable32Bit": false, "managedPipelineMode": "Integrated", "managedRuntimeVersion": "v4.0", "queueLength": 1000, "cpu": { "limitPercentage": 80, "limitAction": "Throttle", "limitMonitoringInterval": 5 }, "recycling": { "regularTimeInterval": 1440, "requestLimit": 10000, "memory": 1048576, "privateMemory": 524288 } } ] } }
Propriedades do pool de aplicativos
name(obrigatório)

Tipo: string

O nome do pool de aplicativos. Esse nome é usado para referenciar o pool nas configurações de implantação.

enable32Bit (opcional)

Tipo: booliano

Permite que um aplicativo de 32 bits seja executado em uma versão de 64 bits do Windows. Defina como true para aplicativos legados que exigem compatibilidade de 32 bits.

managedPipelineMode (opcional)

Tipo: string

Valores válidos: “Integrado”, “Clássico”

Especifica o modo de processamento de solicitações para o pool de aplicativos.

managedRuntimeVersion (opcional)

Tipo: string

Valores válidos: “Sem código gerenciado”, “v2.0", “v4.0"

Especifica a versão do.NET Framework para o pool de aplicativos.

queueLength (opcional)

Tipo: inteiro

Número máximo de solicitações que o HTTP.sys enfileira para o pool de aplicativos antes de rejeitar solicitações adicionais.

Configuração da CPU

O cpu objeto configura os limites de uso da CPU e o monitoramento do pool de aplicativos.

limitPercentage (opcional)

Tipo: número

Porcentagem máxima de tempo de CPU que os processos de trabalho no pool de aplicativos podem consumir.

limitAction (opcional)

Tipo: string

Valores válidos: "NoAction“, “KillW3wp”, “Throttle”, "” ThrottleUnderLoad

Ação a ser tomada quando o limite de CPU for atingido.

limitMonitoringInterval (opcional)

Tipo: número

Período de redefinição (em minutos) para monitoramento da CPU e limites de aceleração.

Configuração de reciclagem

O recycling objeto configura quando e como os processos de trabalho do pool de aplicativos são reciclados.

regularTimeInterval (opcional)

Tipo: inteiro

Intervalo de tempo (em minutos) após o qual o pool de aplicativos é reciclado. Defina como 0 para desativar a reciclagem com base no tempo.

requestLimit (opcional)

Tipo: inteiro

Número máximo de solicitações que o pool de aplicativos processa antes da reciclagem.

memory (opcional)

Tipo: inteiro

Quantidade de memória virtual (em kilobytes) que aciona a reciclagem do processo de trabalho.

privateMemory (opcional)

Tipo: inteiro

Quantidade de memória privada (em kilobytes) que aciona a reciclagem do processo de trabalho.

Tipos de implantação

O deployments objeto contém matrizes de configurações de implantação para diferentes tipos de aplicativos. Cada tipo de implantação tem propriedades e casos de uso específicos.

MSDeploy implantações

MSDeploy as implantações são usadas para aplicativos do.NET Framework tradicionais que podem ser implantados usando o Web Deploy ()MSDeploy.

exemplo MSDeploy configuração de implantação
{ "deployments": { "msDeploy": [ { "name": "WebApp", "description": "Main web application", "parameters": { "appBundle": "webapp.zip", "iisPath": "/", "appPool": "DefaultAppPool" } } ] } }
MSDeploy propriedades de implantação
name(obrigatório)

Tipo: string

Nome exclusivo para a implantação. Esse nome deve ser exclusivo em todas as implantações no manifesto.

description (opcional)

Tipo: string

Descrição legível por humanos da implantação.

parameters(obrigatório)

Tipo: Objeto

Parâmetros de configuração para a MSDeploy operação.

scripts (opcional)

Tipo: Objeto

PowerShell scripts para execução em vários estágios do ciclo de vida da implantação.

MSDeploy parâmetros

appBundle(obrigatório)

Tipo: string

Caminho para o pacote de aplicativos (arquivo ZIP) em relação ao arquivo de manifesto. Esse pacote contém os arquivos do aplicativo a serem implantados.

iisPath (opcional)

Tipo: string

Padrão: “/”

Caminho do diretório virtual no IIS em que o aplicativo será implantado. Use “/” para o caminho raiz ou “/api” para um subdiretório.

appPool (opcional)

Tipo: string

Nome do pool de aplicativos para executar esse aplicativo.

Implantações do ASP.NET Core

As implantações do ASP.NET Core são projetadas especificamente para aplicativos.NET Core e o.NET 5+.

exemplo Configuração de implantação do ASP.NET Core
{ "deployments": { "aspNetCoreWeb": [ { "name": "CoreAPI", "description": "ASP.NET Core Web API", "parameters": { "appBundle": "coreapi.zip", "iisPath": "/api", "appPool": "CoreAppPool" } } ] } }

As implantações do ASP.NET Core usam a mesma estrutura de propriedades das MSDeploy implantações, com a principal diferença sendo o ambiente de tempo de execução e o modelo de hospedagem usados para o aplicativo.

Parâmetros de implantação do ASP.NET Core
appBundle(obrigatório)

Tipo: string

Caminho para o pacote de aplicativos em relação ao arquivo de manifesto. Isso pode ser um arquivo ZIP ou um caminho de diretório contendo o aplicativo ASP.NET Core publicado.

iisPath (opcional)

Tipo: string

Padrão: “/”

Caminho do diretório virtual no IIS para o aplicativo ASP.NET Core.

appPool (opcional)

Tipo: string

Pool de aplicativos para o aplicativo ASP.NET Core. O pool será configurado adequadamente para hospedagem ASP.NET Core.

Implantações personalizadas

As implantações personalizadas fornecem controle total sobre o processo de implantação por meio de PowerShell scripts. Esse tipo de implantação é útil para cenários complexos que exigem instalação, configuração ou lógica de implantação personalizadas.

exemplo Configuração de implantação personalizada
{ "deployments": { "custom": [ { "name": "CustomService", "description": "Custom Windows service deployment", "architecture": 32, "scripts": { "install": { "file": "install-service.ps1" }, "restart": { "file": "restart-service.ps1" }, "uninstall": { "file": "uninstall-service.ps1", "ignoreErrors": true } } } ] } }
Propriedades de implantação personalizadas
name(obrigatório)

Tipo: string

Nome exclusivo para a implantação personalizada.

description (opcional)

Tipo: string

Descrição da implantação personalizada.

architecture (opcional)

Tipo: inteiro

Padrão: 32

Valores válidos: 32, 64

A especificação de arquitetura para o modo de execução de scripts PowerShell

scripts(obrigatório)

Tipo: Objeto

PowerShell scripts que definem o comportamento da implantação. As implantações personalizadas oferecem suporte a tipos de script adicionais em comparação com outros tipos de implantação.

Scripts de implantação

Os scripts de implantação são PowerShell scripts executados em pontos específicos durante o ciclo de vida da implantação. Diferentes tipos de implantação oferecem suporte a diferentes conjuntos de eventos de script.

Eventos de script

Os seguintes eventos de script estão disponíveis dependendo do tipo de implantação:

Scripts de implantação padrão (MSDeploy e aspNetCore Web)
preInstall

É executado antes que o aplicativo seja instalado ou atualizado.

postInstall

É executado depois que o aplicativo é instalado ou atualizado.

preRestart

É executado antes que o aplicativo seja reiniciado.

postRestart

É executado depois que o aplicativo é reiniciado.

preUninstall

É executado antes da desinstalação do aplicativo.

postUninstall

É executado após a desinstalação do aplicativo.

Scripts de implantação personalizados (somente implantações personalizadas)
install

Script de instalação principal para implantações personalizadas. Esse script é responsável pela instalação do aplicativo ou serviço.

restart

Script para reiniciar o aplicativo ou serviço. Chamado quando o ambiente é reiniciado.

uninstall

Script para desinstalar o aplicativo ou serviço. Chamado durante o encerramento do ambiente ou a remoção do aplicativo.

Propriedades do script

Cada script é definido como um objeto com as seguintes propriedades:

file(obrigatório)

Tipo: string

Caminho para o arquivo de PowerShell script em relação ao arquivo de manifesto. O script deve ter uma .ps1 extensão.

ignoreErrors (opcional)

Tipo: booliano

Padrão: falso

Quando definido comotrue, a implantação continua mesmo se o script falhar. Use isso para scripts não críticos ou operações de limpeza.

exemplo Exemplo de configuração de script
{ "scripts": { "preInstall": { "file": "backup-config.ps1", "ignoreErrors": true }, "postInstall": { "file": "configure-app.ps1" } } }