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 de esquema de manifesto de implantação
O manifesto de implantação é um arquivo JSON que define como o Elastic Beanstalk deve implantar e configurar suas aplicações Windows. Esta seção fornece uma referência abrangente para todas as propriedades e opções de configuração compatíveis 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": {
"websites": [...],
"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, apenas a versão 1 é compatível.
skipIISReset(opcional)-
Tipo: booliano
Padrão: falso
Controla se o IIS é redefinido durante as implantações da aplicação. Esse sinalizador afeta ambos os tipos de implantação:
msDeployeaspNetCoreWeb.Behavior:
-
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: as aplicações 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 usar
skipIISReset, a operação RestartAppServer executa uma redefiniçãodo 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 suas aplicações. Esse objeto pode incluir os tipos de implantação
msDeploy,aspNetCoreWebecustom. iisConfig(opcional)-
Tipo: Objeto
Define as configurações do IIS a serem aplicadas antes da implantação das aplicações. Oferece suporte à configuração do site e do grupo de aplicações.
Configuração do IIS
A seção iisConfig permite que você defina as configurações do IIS antes de implantar suas aplicações. Isso inclui a configuração de grupos de aplicações com configurações específicas e a configuração de sites do IIS com associações personalizadas.
Sites do IIS
Sites do IIS permitem que você defina configurações personalizadas do site, incluindo caminhos físicos e associações de rede, antes de implantar suas aplicações.
Considerações importantes para criar sites diferentes do IIS
-
Ordem de configuração de sites: os sites são configurados sequencialmente na ordem em que aparecem na matriz
websites. A plataforma processa cada configuração do site em sequência, portanto, garanta o pedido adequado se você tiver dependências entre os sites. -
Firewall e acesso à porta: somente a porta 80 é automaticamente exposta por meio da configuração padrão de firewall do Elastic Beanstalk para Windows. Se você configurar sites para usar portas não padrão, deverá definir regras de firewall personalizadas por meio de ebextensions ou scripts de implantação personalizados para permitir acesso externo a essas portas.
exemplo Configuração de site
{
"iisConfig": {
"websites": [
{
"name": "MyCustomSite",
"physicalPath": "C:\inetpub\wwwroot\mysite",
"bindings": [
{
"protocol": "http",
"port": 8080,
"hostName": "mysite.local"
},
{
"protocol": "https",
"port": 8443
}
]
}
]
}
}Propriedades do site
name(obrigatório)-
Tipo: string
O nome do site do IIS. Esse nome é usado para identificar o site no Gerenciador do IIS e deve ser exclusivo na configuração do IIS.
physicalPath(obrigatório)-
Tipo: string
O caminho físico no servidor no qual os arquivos do site são armazenados. Esse caminho deve estar acessível ao processo de trabalho do IIS.
bindings(obrigatório)-
Tipo: matriz
Número mínimo de itens: 1
Uma variedade de configurações de vinculação que definem como o site responde a solicitações de rede. Cada associação especifica um protocolo, uma porta e um nome de host opcional.
Associações de sites
As associações de sites definem os endpoints de rede nos quais o site do IIS escutará as solicitações recebidas.
protocol(obrigatório)-
Tipo: string
Valores válidos: “http”, “https”
O protocolo usado para a vinculação.
port(obrigatório)-
Tipo: inteiro
Intervalo válido: 1-65535
O número da porta na qual o site receberá solicitações.
hostName(opcional)-
Tipo: string
O nome do host (nome de domínio) para a associação.
Grupos de aplicações
Os grupos de aplicações fornecem isolamento entre aplicações e permitem que você defina as configurações de runtime para grupos de aplicações.
exemplo Configuração do grupo de aplicações
{
"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 grupo de aplicações
name(obrigatório)-
Tipo: string
O nome do grupo de aplicações. Esse nome é usado para referenciar o grupo nas configurações de implantação.
enable32Bit(opcional)-
Tipo: booliano
Permite que uma aplicação de 32 bits seja executada em uma versão de 64 bits do Windows. Defina como
truepara aplicações legadas 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 grupo de aplicações.
managedRuntimeVersion(opcional)-
Tipo: string
Valores válidos: “Sem código gerenciado”, “v2.0", “v4.0"
Especifica a versão do .NET Framework para o grupo de aplicações.
queueLength(opcional)-
Tipo: inteiro
Número máximo de solicitações que o HTTP.sys enfileira para o grupo de aplicações antes de rejeitar solicitações adicionais.
Configuração da CPU
O objeto cpu configura os limites de uso da CPU e o monitoramento do grupo de aplicações.
limitPercentage(opcional)-
Tipo: número
Porcentagem máxima de tempo de CPU que os processos de trabalho no grupo de aplicações podem consumir.
limitAction(opcional)-
Tipo: string
Valores válidos: "NoAction", "KillW3wp", "Throttle", "ThrottleUnderLoad"
Ação a ser realizada 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 controle de utilização.
Configuração de reciclagem
O objeto recycling configura quando e como os processos de trabalho do grupo de aplicações são reciclados.
regularTimeInterval(opcional)-
Tipo: inteiro
Intervalo de tempo (em minutos) após o qual o grupo de aplicações é reciclado. Defina como 0 para desabilitar a reciclagem baseada em tempo.
requestLimit(opcional)-
Tipo: inteiro
Número máximo de solicitações que o grupo de aplicações 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 objeto deployments contém matrizes de configurações de implantação para diferentes tipos de aplicações. Cada tipo de implantação tem propriedades e casos de uso específicos.
Implantações de MSDeploy
As implantações de MSDeploy são usadas para aplicações tradicionais do .NET Framework que podem ser implantadas usando o Web Deploy (MSDeploy).
exemplo Configuração da implantação do MSDeploy
{
"deployments": {
"msDeploy": [
{
"name": "WebApp",
"description": "Main web application",
"parameters": {
"appBundle": "webapp.zip",
"iisPath": "/",
"appPool": "DefaultAppPool"
}
}
]
}
}Propriedades da implantação de MSDeploy
name(obrigatório)-
Tipo: string
Nome exclusivo da implantação. Esse nome deve ser exclusivo entre 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 operação MSDeploy.
scripts(opcional)-
Tipo: Objeto
Scripts do PowerShell para execução em vários estágios do ciclo de vida das implantações.
Parâmetros de MSDeploy
appBundle(obrigatório)-
Tipo: string
Caminho para o pacote de aplicações (arquivo ZIP) em relação ao arquivo de manifesto. Esse pacote contém os arquivos da aplicação a serem implantados.
iisWebSite(opcional)-
Tipo: string
Padrão: “Site padrão”
O site do IIS no qual implantar a aplicação. Por padrão, as aplicações são implantadas no “Site padrão”. Opcionalmente, você pode especificar um nome de site diferente, como aquele configurado na seção
iisConfig.websites. iisPath(opcional)-
Tipo: string
Padrão: "/"
Caminho do diretório virtual no IIS em que a aplicação será implantada. Use “/” para o caminho raiz ou “/api” para um subdiretório.
appPool(opcional)-
Tipo: string
Nome do grupo de aplicações para executar essa aplicação.
Implantações do ASP.NET Core
As implantações ASP.NET Core são projetadas especificamente para aplicações .NET Core e o .NET 5+.
exemplo Configuração da implantação de ASP.NET Core
{
"deployments": {
"aspNetCoreWeb": [
{
"name": "CoreAPI",
"description": "ASP.NET Core Web API",
"parameters": {
"appBundle": "coreapi.zip",
"iisPath": "/api",
"appPool": "CoreAppPool"
}
}
]
}
}As implantações de ASP.NET Core usam a mesma estrutura de propriedades das implantações MSDeploy, com a principal diferença sendo o ambiente de runtime e o modelo de hospedagem usados para a aplicação.
Parâmetros da implantação de ASP.NET Core
appBundle(obrigatório)-
Tipo: string
Caminho até o pacote de aplicações em relação ao arquivo manifesto. Pode ser um arquivo ZIP ou um caminho de diretório contendo a aplicação ASP.NET Core publicada.
iisWebSite(opcional)-
Tipo: string
Padrão: “Site padrão”
O site do IIS no qual implantar a aplicação ASP.NET Core. Por padrão, as aplicações são implantadas no “Site padrão”. Opcionalmente, você pode especificar um nome de site diferente, como aquele configurado na seção
iisConfig.websites. iisPath(opcional)-
Tipo: string
Padrão: "/"
Caminho de diretório virtual no IIS para a aplicação ASP.NET Core.
appPool(opcional)-
Tipo: string
Grupo de aplicações da aplicação ASP.NET Core. O grupo será configurado adequadamente para hospedagem de ASP.NET Core.
implantações personalizadas
Implantações personalizadas fornecem controle total sobre o processo de implantação por meio de scripts do PowerShell. 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 da 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 do PowerShell
scripts(obrigatório)-
Tipo: Objeto
Scripts do PowerShell que definem o comportamento de implantação. Implantações personalizadas oferecem suporte a tipos de script adicionais em comparação com outros tipos de implantação.
Scripts de implantação
Scripts de implantação são scripts do PowerShell 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 scripts.
Eventos de script
Os seguintes eventos de scripts estão disponíveis dependendo do tipo de implantação:
Scripts de implantação padrão (msDeploy e aspNetCoreWeb)
preInstall-
É executado antes que a aplicação seja instalada ou atualizada.
postInstall-
É executado depois que a aplicação é instalada ou atualizada.
preRestart-
É executado antes que a aplicação seja reiniciada.
postRestart-
É executado depois que a aplicação é reiniciada.
preUninstall-
É executado antes da desinstalação da aplicação.
postUninstall-
É executado após a desinstalação da aplicação.
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 da aplicação ou serviço.
restart-
Script para reiniciar a aplicação ou serviço. Chamado quando o ambiente é reiniciado.
uninstall-
Script para desinstalar a aplicação ou serviço. Chamado durante o encerramento do ambiente ou a remoção da aplicação.
Propriedades do script
Cada script é definido como um objeto com as seguintes propriedades:
file(obrigatório)-
Tipo: string
Caminho até o arquivo de script do PowerShell em relação ao arquivo manifesto. O script deve ter uma extensão
.ps1. ignoreErrors(opcional)-
Tipo: booliano
Padrão: falso
Quando definido como
true, a implantação continua mesmo se o script falhar. Use 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"
}
}
}