GE - Como Fazer - Ferramenta de implantação de sites e aplicações web

De CIGAM WIKI

Como Fazer > Utilidades/Diversos
Voltar

Script de implantação

A ferramenta de implantação gerencia a execução do script de implantação que é gravado na pasta
temporária do Windows, no arquivo “CGImplanta.bat”. A página de codificação do arquivo é 1252.

A ferramenta inicialmente irá obter o script de implantação a partir de serviço web hospedado na CIGAM Corporativa. Caso a conexão não seja bem sucedida será utilizado o arquivo incorporado no projeto.
Havendo conectividade, também irá realizar uma comparação das versões dos arquivos, podendo utilizar o arquivo incorporado quando a versão definida no mesmo for superior, o que poderia ocorrer durante uma evolução do script, mas o normal será a versão hospedada sempre ser igual ou superior.


Utilização da ferramenta em modo console

A ferramenta de implantação pode ser executada em console somente através do Windows PowerShell
(“powershell.exe”), não permitindo executar através do Prompt do Windows (“cmd.exe”).

A execução deverá ser feita como administrador. Um pedido para reabrir a ferramenta com elevação será feito quando necessário e os parâmetros informados serão repassados para esta nova execução.

Quando executado sem parâmetros, irá listar as opções de parâmetros que o script de implantação disponibiliza.


Console

Utilização da ferramenta em modo tela interativa

A ferramenta de implantação pode ser executada em tela interativa caso seja aberta diretamente no Windows.

A execução deverá ser feita como administrador. Um pedido para reabrir a ferramenta com elevação será feito quando necessário.

Os sites e aplicações são criados abaixo da pasta padrão "%SYSTEMDRIVE%\inetpub\wwwroot". Esta pasta pode ser alterada criando um ícone de atalho para a ferramenta e utilizando o parâmetro "/p:<caminho da pasta>" na linha de comando. É necessário garantir que o sistema de arquivos esteja com as permissões de acesso e segurança adequadas para a pasta parametrizada.

A ferramenta inicia com a lista de implantação que será carregada inicialmente com as aplicações que estão configuradas na máquina conforme o padrão de implantação.


CGImplanta


Para criar um item na lista de implantação, utilizar o botão “Novo site/aplicação”. A mesma tela será acessada pelo botão “#” do item na lista de implantação, para realizar modificações. Nesta tela, as opções de ações que determinam a adição ou exclusão do site ou aplicação.

A recomendação é optar pela utilização de porta HTTPS que fornece maior segurança, sendo necessário configurar o certificado posteriormente no IIS para o site e a porta utilizada. Lembrando que para o correto funcionamento da comunicação entre os portais por sites distintos, caso configurada a aplicação React por exemplo, se deve utilizar o mesmo protocolo em todos sites para evitar o erro de conteúdo em modo misto nos navegadores.

Em casos de atualização de Portais já implantados anteriormente, deve-se deixar habilitada a caixa de seleção “Manter as configurações do arquivo Web.config caso o site ou aplicação já existe”. Essa opção manterá as configurações realizadas diretamente no arquivo ou realizadas em “Configurações do Aplicativo” no IIS.

IMPORTANTE: Para utilização da conexão de banco de dados criptografada nos portais e API CIGAM é necessário montar a string de conexão através da ferramenta %CIGAM_INSTAL%CGConnectionString.exe seguindo os passos de Como Fazer - CGConnectionString, é recomendado que para a montagem da connections string de portais e API CIGAM seja utilizada o tipo 'Nativa', após encriptar basta copiar o que foi gerado e colar no campo 'String de conexão'.


CGImplanta_Dados


Para excluir um item da lista de implantação, utilizar o botão “X” do item na lista de implantação.

Para executar a implantação da lista com os itens que estão selecionados, utilizar o botão “Implantar selecionados” e confirmar. Uma tela de processamento da implantação será apresentada.


CGImplanta_Processamento


Para apresentar o log do item na lista de implantação após a finalização da execução, utilizar o botão “...” do item na lista de implantação.


CGImplanta_Log


Para acessar as configurações de sites e aplicações no IIS utilizar o botão que consta na barra de ferramentas da lista de implantação.


CGImplanta_IIS


Para realizar a troca de informações da lista entre máquinas, utilizar as opções para salvar e carregar a lista de implantação a partir de um arquivo XML, que constam na barra de ferramentas da lista de implantação.

Certificado de autenticidade da ferramenta

Caso seja necessário realizar a conferência de autenticidade do aplicativo para execução como administrador, deve ser instalado o certificado “CGImplanta.pfx”, que acompanha o aplicativo, no repositório “Autoridades de Certificação Raiz Confiáveis” do usuário no Windows.

Após a instalação do certificado, o aplicativo deve se apresentar como reconhecido e válido. A seguir constam exemplos do antes e depois nas propriedades do arquivo e telas do UAC do Windows.

CGImplanta_Certificado


CGImplanta_Certificado.

Configurações adicionais das aplicações no IIS

Algumas configurações adicionais devem ser realizadas manualmente no IIS, conforme a aplicação instalada. Para informar, acessar o item configurações do aplicativo, a partir da página inicial de cada aplicação.


IIS_01


Utilizar a opção adicionar na barra de ações para informar o nome e valor das configurações, confirmando os dados para salvar.


IIS_02


Os valores cadastrados são salvos no arquivo “Web.Config” presente na aplicação web.


IIS_03


Chave de criptografia

Esta configuração deve ser repetida em nome lógico no arquivo “magic.ini” do CIGAM Desktop, informando
o mesmo valor. Informar um dado numérico no valor da configuração.

  • CRYPTOGRAPHY_KEY
    • Valor de exemplo: 12345


Mapeamento de rede

Esta configuração deve ser repetida em nome lógico no arquivo “magic.ini” do CIGAM Desktop, informando o mesmo valor. Informar o caminho do compartilhamento no valor da configuração. Podem ser criadas mais configurações para atender mais letras de unidade. Abaixo está demonstrado o cadastro da letra X que vai substituir a unidade X: presente nos cadastros do sistema.

  • DRIVE_X
    • Valor de exemplo: \\servidorarquivos\imagens


Limite de tamanho de upload

Informar o tamanho em kilobytes no valor da configuração. O valor informado representa o tamanho máximo que pode ser feito upload.

Este item não deve ser alterado nas configurações do aplicativo. Para informar, acessar o item editor de configurações, a partir da página inicial da aplicação desejada.


IIS_04


Navegar até a seção “system.web/httpRuntime” e alterar a configuração maxRequestLength para informar o tamanho máximo.


IIS_05


Utilizar a opção para aplicar na barra de ações para salvar os dados.


IIS_06



Tempo limite de requisição

Informar o tempo em HH:MM:SS no valor da configuração. O valor informado representa o tempo máximo que pode ser executada a requisição.

Este item não deve ser alterado nas configurações do aplicativo. Para informar, acessar o item editor de configurações, a partir da página inicial da aplicação desejada.


IIS_04


Navegar até a seção “system.web/httpRuntime” e alterar a configuração executionTimeout para informar o tempo máximo.


IIS_05


Utilizar a opção para aplicar na barra de ações para salvar os dados.


IIS_06


Limite de tamanho de download

Informar o tamanho em bytes no valor da configuração. O valor informado representa o tamanho máximo que pode ser feito download.

Este item não deve ser alterado nas configurações do aplicativo. Para informar, acessar o item filtragem de solicitações, a partir da página inicial da aplicação desejada.


IIS_07


Utilizar a opção para editar configurações do recurso na barra de ações e informar o tamanho máximo, confirmando os dados para salvar.


IIS_08


Configuração dos Portais no IIS

Cada aplicação deve ser instalada como aplicação web no IIS através do pacote compactado identificando o nome do portal e contendo a extensão “.zip”.

Algumas configurações adicionais devem ser realizadas manualmente no IIS, conforme a aplicação instalada.

Navegação entre os portais

Estas configurações devem ser repetidas em todos os portais que foram implementados para permitir a navegação entre estes. Informar o nome da aplicação do portal de destino no valor da configuração ou a URL completa, caso esteja em um site e porta diferentes. A chave de cálculo (KEY_TOKEN) deve estar pareada nas aplicações com o valor definido na CDN.

  • MENU_PORTAL_APROVACOES
    • Valor de exemplo: portalaprovacoes
  • MENU_PORTAL_CIGAM
    • Valor de exemplo: portalcigam
  • MENU_PORTAL_CLIENTE
    • Valor de exemplo: portalcliente
  • MENU_PORTAL_CRM
    • Valor de exemplo: portalcrm
  • MENU_PORTAL_ERP
    • Valor de exemplo: portalerp
  • MENU_PORTAL_FORNECEDOR
    • Valor de exemplo: portalfornecedor
  • MENU_PORTAL_REPRESENTANTE
    • Valor de exemplo: portalrepresentante
  • MENU_PORTAL_SERVICOS
    • Valor de exemplo: portalservicos
  • MENU_PORTAL_VAREJO
    • Valor de exemplo: portalvarejo


Pasta de arquivos

Esta configuração é necessária somente para o Portal CIGAM. Por padrão esta pasta vai apontar para a raiz da instalação da aplicação web.

  • DIRETORIO_BASE
    • Valor padrão: ~/Documentos

Um diretório virtual de nome “Documentos” pode ser criado na aplicação para apontamento para um caminho físico personalizado. O caminho escolhido deve possuir as permissões para que o IIS tenha acesso à pasta, o que normalmente implica em adicionar o usuário IIS_IUSRS na pasta física com as permissões de leitura e escrita.


IIS_Diretorio


IIS_Diretorio.


Limite de tamanho para visualização de arquivos

Esta configuração é necessária somente para o Portal CIGAM. Informar o tamanho em kilobytes no valor da configuração. O valor informado representa o tamanho máximo de documento que pode ser visualizado.

  • DOCUMENTOS_LIMITE_VISUALIZACAO
    • Valor de exemplo: 2048


Demonstração de cotações

Esta configuração é necessária somente para o Portal Fornecedor, que é acessado através de um link enviado por e-mail. O valor informado permite o acesso em modo de demonstração.

  • NOME_PORTAL
    • Valor padrão: CGPORTALFORNECEDOR
  • SESSION_TOKEN_COTACAO_DEMONSTRACAO
    • Valor de exemplo:
      • z25868f75884f60x92f60672f6xx52f6x632f63406f62592f49932f64876f69368f67200f66346f83204z580x0


Parametrização dos Portais no CIGAM Desktop

Algumas parametrizações adicionais podem ser realizadas manualmente no CIGAM Desktop, conforme a aplicação de portal instalada, para isto se deve revisar a implementação dos portais no CIGAM Desktop, consulte GE - Como Fazer - Implementação Portais Web.

Configuração do Magic Broker no IIS

Esta aplicação é utilizada na informação dos dados de implantação, no campo “Endereço do servidor de aplicação Magic”.
O Magic Broker é instalado como aplicação web no IIS através do pacote compactado “Broker.zip”. Quando esta aplicação for implantada, a biblioteca “MGrqispi.dll” é configurada e ativada para funcionamento com o protocolo ISAPI.
Para completar a comunicação com o Magic Enterprise Server, no arquivo “mgreq.ini” presente nesta aplicação web, a configuração “MessagingServer” deve ser informada com o servidor e porta no formato SERVIDOR/PORTA e a configuração “DefError” deve ser igual a XML.

Consulte GE - Como Fazer - Configuração de aplicação com Broker para verificar as parametrizações para colocar uma aplicação Magic em estado de espera para requisições.


MagicIni.

Configuração do Agendador de Tarefas no IIS

O Agendador de Tarefas é instalado como aplicação web no IIS através do pacote compactado
“CGScheduler.zip”. Quando esta aplicação for implantada, a identidade do pool de aplicativo é configurada como LocalService. A instalação deve ser feita no mesmo ambiente que vai possuir o Agendador de Tarefas em execução.
Consulte GE - Como Fazer - Integração com o Agendador de Tarefas do Windows para verificar
as parametrizações para execução das tarefas.

Configuração do React no IIS

O módulo URL Rewrite deve ser estar previamente instalado no IIS para instalar esta aplicação, consulte GE - Como Fazer - Instalação do IIS para informações sobre a instalação de componentes do IIS. Também é possível acessar https://www.iis.net/downloads/microsoft/url-rewrite para baixar o instalador do módulo no IIS.

A aplicação React deve ser instalada como aplicação web no IIS através do pacote compactado “React.zip”. Quando esta aplicação for implantada, deve ser informado o mesmo valor no nome do site e da aplicação, o que implica na criação de um site dedicado exclusivamente ao React sem uma aplicação abaixo do mesmo e contendo os arquivos na raiz deste site. É obrigatório para o correto funcionamento desta aplicação este procedimento e não deve ser utilizado um site que já possua outras aplicações.

As aplicações React e API funcionam em conjunto, sendo necessário realizar a implantação da API se a aplicação React for instalada, revise o tópico específico sobre esta aplicação. Para a implantação do React não é necessário informar os campos “String de conexão”, “Banco de dados” e “Endereço do servidor de aplicação Magic”, pois esta comunicação é feita a partir da API.

Após implantar esta aplicação o arquivo “static\base_config.json” presente na aplicação web deve ser renomeado para “static\config.json”. Algumas configurações adicionais devem ser realizadas manualmente neste arquivo. As configurações relativas aos endereços devem ser revisadas após a instalação ou recuperadas da cópia da versão anterior que a instalação realiza. Observar que entre as configurações sempre vai constar uma vírgula para separação.

Desligando endereços de aplicações não utilizadas

Nas configurações de endereços, as que possuem o sufixo “_URL”, caso não existir uma instalação prévia da aplicação, se deve anular o valor para desligar, retirando as aspas se houver.

  • "PORTAL_SERVICOS_URL":
    • Valor padrão: null

Habilitando portais em uso

Incluir o valor dos portais que devem ser habilitados na configuração. Os valores devem estar entre aspas e separados por vírgula.

Os portais que podem ser habilitados e seu valor na configuração:
   1. Portal Cliente, valor “portalcliente”.
   2. Portal Indústria, valor “portalindustria”.
   3. Portal Serviços, valor “portalservicos”.

  • "ACTIVE_PORTALS":
    • Valor de exemplo: ["portalcliente", "portalindustria", "portalservicos"]

Definindo o método de entrada padrão

Informar o valor que corresponde ao método de entrada que deve ser aberto por padrão ao acessar o endereço da aplicação React. O valor deve estar entre aspas.
Os métodos de entrada que podem ser habilitados e seu valor na configuração:
   1. CIGAM Padrão, valor “cigam”.
   2. Contato Externo, valor “contato”.

  • "DEFAULT_LOGIN":
    • Valor de exemplo: "cigam"


Caso seja necessário realizar um acesso por um método de entrada diferente do padrão, o endereço da aplicação React deve ser completado com o seguinte sufixo:
   1. CIGAM Padrão, sufixo “/login”.
   2. Contato Externo, sufixo “/logincontato”.

Configuração da API no IIS

A aplicação API deve ser instalada como aplicação web no IIS através do pacote compactado “API.zip”.

A escolha do campo “Banco de dados” na implantação deve utilizar as referências “System.Data.SqlClient” para o MSSQL e “Oracle.ManagedDataAccess.Client” para Oracle.

Para Oracle, o valor no campo “String de conexão” deve utilizar o IP do servidor de banco de dados, pois é uma exigência da arquitetura da API, por utilizar o EntityFramework. Valor de exemplo: “Data Source=192.168.0.101:1521/orcl;User ID=CIGAM;Password=CIGAM;Persist Security Info=True;”.


Configuração da CDN no IIS

A aplicação CDN deve ser instalada como aplicação web no IIS através do pacote compactado “CDN.zip”.
Algumas configurações adicionais devem ser realizadas manualmente no IIS.

Pasta base do conteúdo compartilhado

Esta configuração deve ser repetida no nome lógico %CDN% no arquivo “magic.ini” do CIGAM Desktop,
informando o mesmo valor. Informar o compartilhamento da pasta base de acesso ao conteúdo. É recomendado que o compartilhamento possua acesso de leitura e escrita para “Domain Users” e “IIS_IUSRS”.

  • CONTENT_SHARE
    • Valor de exemplo: \\servidorarquivos\cdn


A permissão “Domain Users” é para que usuários do domínio possam automaticamente colocar conteúdo pelo acesso de rede. Podem ser atribuídas outras permissões específicas em subpastas e para usuários ou grupos definidos. A estrutura de subpastas desejada deve ser previamente criada para que o CIGAM Desktop possa criar os arquivos, sendo recomendado o uso do nome lógico %CDN% para compor os caminhos cadastrados.
A permissão “IIS_IUSRS” atende o recurso de exclusão de arquivo após download. Caso utilizado uma identidade no pool da aplicação diferente do padrão, esta deve receber a permissão.

Conteúdo externo

Informar o dado lógico (true/false) para habilitar. Permite ou não acessar conteúdos de fora da pasta base. Algumas rotinas do legado possuem arquivos em caminhos de rede, e esta configuração permitirá acessar esses arquivos sem que seja necessário movê-los para dentro da pasta base.

  • CONTENT_EXTERNAL
    • Valor de exemplo: true


Para o correto funcionamento desta opção ainda é necessário informar um usuário da rede na identidade do pool da aplicação e mapear o caminho de rede nas configurações da aplicação. Revise o tópico sobre configurações adicionais para ter mais informações sobre o mapeamento de rede.

Acesso para conteúdo público

Informar um valor para que terceiros possam acessar o conteúdo sem a necessidade de informar credenciais de identificação. O valor deve incluir letras e números, sem caracteres especiais e com um tamanho mínimo de 15 caracteres.

  • PUBLIC_TOKEN
    • Valor de exemplo: a98x48djuh58vj38dhfg3

Este valor de acesso deve estar pareado nas aplicações de Front-end.

Chave de cálculo para acesso ao conteúdo

Informar uma chave de cálculo para o valor de acesso. Utilize uma chave em cada instalação ou cliente, geralmente com até 3 caracteres.

  • KEY_TOKEN
    • Valor de exemplo: 1

Esta chave de cálculo deve estar pareada nas aplicações de Front-end.

Inclusão de conteúdo público

Informar o dado lógico (true/false) para habilitar. Permite que os acessos públicos possam fazer upload de arquivos.

  • PUBLIC_UPLOAD
    • Valor de exemplo: true

Exclusão de conteúdo público

Informar o dado lógico (true/false) para habilitar. Permite que os acessos públicos possam excluir arquivos.

  • PUBLIC_DELETE
    • Valor de exemplo: true

Configuração do APM no IIS

A aplicação APM deve ser instalada como aplicação web no IIS através do pacote compactado “CGAPM.zip”. Quando esta aplicação for implantada, os serviços do APM são configurados e iniciados na mesma máquina que executa o IIS.

A pasta “services” presente na pasta raiz desta aplicação contém o pacote de ferramentas que precisam estar em execução para que o APM possa apresentar suas informações, o que inclui as ferramentas Grafana, Prometheus, Promtail e Loki. Esta pasta é criada durante a implantação com uma configuração padrão do pacote de ferramentas caso ela não existir.

Consulte GE - Como Fazer - Configuração do CIGAM APM para verificar as parametrizações e recursos para o monitoramento de aplicações.

Algumas configurações adicionais devem ser realizadas manualmente no IIS.

Acesso público da aplicação

Informar um valor para que terceiros possam acessar a aplicação sem a necessidade de informar credenciais de identificação. O valor deve incluir letras e números, sem caracteres especiais e com um tamanho mínimo de 15 caracteres.

  • PUBLIC_TOKEN
    • Valor de exemplo: a98x48djuh58vj38dhfg3

Este valor de acesso deve estar pareado nas aplicações de Front-end.

Chave de cálculo para acesso à aplicação

Informar uma chave de cálculo para o valor de acesso. Utilize uma chave em cada instalação ou cliente, geralmente com até 3 caracteres.

  • KEY_TOKEN
    • Valor de exemplo: 1

Esta chave de cálculo deve estar pareada nas aplicações de Front-end.

Configuração do BI no IIS

A aplicação BI deve ser instalada como aplicação web no IIS através do pacote compactado “BI.zip”.

Consulte o documento “Como Fazer - Manutenção do BI Web” para verificar as parametrizações adicionais da aplicação e a geração do arquivo “config.xml”.

Algumas configurações adicionais devem ser realizadas manualmente no IIS.

Caminho do arquivo de configurações e licenciamento

Esta configuração deve apontar para o local onde está o arquivo “config.xml” que define as parametrizações da aplicação.

  • ArquivoConfig
    • Valor de exemplo: config.xml


Quando não informado um caminho, o arquivo “config.xml” fica contido dentro da pasta de instalação da aplicação e deve ser recuperado da cópia da versão anterior que a instalação realiza. Caso informado um caminho completo de localização do arquivo “config.xml” fora da pasta de instalação, dispensa este procedimento.

Conferência manual das instalações no IIS

Havendo alguma necessidade é possível checar as configurações das aplicações implantadas conforme a ferramenta de implantação, pois estas seguem algumas regras básicas.

Na lista do pool de aplicativos, deve existir um item que condiz com o site e um item para cada aplicação que foi implantada neste site. Podem existir mais sites e cada um representa um ambiente entre produção, homologação e testes.


PoolApl.


Nas configurações avançadas de cada pool de aplicativo se pode conferir algumas informações:

  • A identidade padrão é ApplicationPoolIdentity.
  • A identidade do pool da aplicação Scheduler é LocalService.
  • O suporte para aplicativos de 32 bits é habilitado para o pool da aplicação Broker.


ConfigAvancada


ConfigAvancada.


Na lista de sites, cada um representa um ambiente com portas e protocolos diferentes para as conexões.


sites


Nas configurações avançadas de cada site se pode conferir o caminho físico e o pool de aplicativos associado.


sites_conf


Nas associações de cada site se pode conferir os protocolos habilitados e cada porta destes.


sites_porta


As aplicações devem estar presentes na estruturação do servidor abaixo dos sites separadas por estes e com o que é implantado nos ambientes.


sites_Aplicacoes



Nas configurações avançadas, a partir da página inicial de cada aplicação, se pode conferir o caminho físico e o pool de aplicativo associado. O caminho físico é uma pasta que está contida no caminho físico do site.


Aplica Config


Os arquivos “Web.config” e “WebAppServers.config” quando necessários estão presentes no pacote de implantação e são copiados para o caminho físico de cada aplicação implantada, mas podem não ser necessários e não estarem presentes para algumas aplicações.

Na chave do computador, a partir da página inicial de cada aplicação, os valores dos métodos e das chaves devem ser os mesmos em todas aplicações que possuem um arquivo de configuração “Web.config”.


Chave Computador


Na globalização, a partir da página inicial de cada aplicação, deve constar o idioma pt-BR.


Globalização


Nas cadeias de conexão, a partir da página inicial de cada aplicação, deve existir a conexão CIGAM para o banco de dados em todas aplicações que possuem um arquivo de configuração “Web.config”. O valor desta conexão deve corresponder ao que foi informado na ferramenta de implantação.


Cadeias de conexão


Para conferir o valor informado na ferramenta de implantação para o servidor de aplicação Magic, localizar no sistema de arquivos e visualizar com um editor de texto o arquivo “WebAppServers.config” conforme o caminho físico de cada aplicação.

Nos mapeamentos de manipulador, a partir da página inicial da aplicação Broker, nas permissões de recurso deve estar marcada a permissão para executar que coloca o ISAPI em estado habilitado para esta aplicação.


Mapeamento


Nas restrições ISAPI e CGI, a partir da página inicial do servidor, deve constar a configuração para a biblioteca que faz parte da aplicação do Broker. Podem existir aplicações Broker nesta lista para mais sites representando ambientes distintos.


Restrição