Implantação de front-end
O frontend-updater gerencia os front-ends da G7, tanto na nuvem (através do AWS S3 e CloudFront) quanto on-premises.
Importante
Todos os front-ends devem seguir este formato de pastas no S3 para o correto funcionamento deste serviço de atualização.
O que você pode fazer:
Uma origem é um bucket S3 com todos os arquivos estáticos que formam um front-end: arquivos HTML, JS, CSS, bibliotecas, imagens, entre outros.
Estes arquivos devem estar no formato app/domain/service/version/files, aonde:
- app: é um agrupador de front-ends que tem um assunto afim. Geralmente representa um item do primeiro nível do menu, como HCM, ERP, etc;
- domain: nome do domínio ao qual este front-end pertence;
- service: nome do serviço ao qual este front-end pertence;
- version: versão do front-end;
- files: os arquivos que efetivamente compõem o front-end.
O nome da origem é br-com-senior-platform-frontend-updater-default-origin, e dentro dela existe o front-end: tecnologia/platform/notifications/1.0.1, ou seja:
- app: tecnologia;
- domain: platform;
- service: notifications;
- version: 1.0.1.
- Acesse Tecnologia > Administração > Implantação de front-ends;
- Clique em Origens, será exibida a listagem de origens existentes, e clique em Adicionar;
- Preencha as informações da origem: tipo, nome e identificados;
- Clique em Salvar.
- Acesse Tecnologia > Administração > Implantação de front-ends;
- Clique em Origens para visualizar uma lista de origens existentes;
- Selecione uma origem e clique em Serviços para listar todos os front-ends disponíveis nessa origem;
- Clique no botão Atualizar para que o serviço de atualização leia o conteúdo do Bucket S3 e atualize a listagem.
O que você pode fazer:
Atualmente são suportados destinos do tipo Bucket AWS S3, para uso na cloud, configurado para expor seus arquivos através do CDN da AWS, o CloudFront. E o tipo File System, para uso on-premises.
Bucket S3
Deve ser criado um Bucket para armazenar os front-ends em uso, que serão expostos através do CDN da Amazon. Assim eles terão uma melhor performance, com o uso do cache global e do acesso sempre ao ponto mais próximo de onde o usuário estiver. Crie um Bucket vazio no S3 que será utilizado como destino, e também crie uma nova distribuição no CloudFront apontando para este bucket. Cada distribuição do CloudFront possui um ID no formato string que será utilizado no cadastro da plataforma.
File System
Este destino é utilizado quando a plataforma é utilizada on-premises. Normalmente aponta para a pasta raiz dos HTMLs do nginx (por padrão: /usr/share/nginx/html, no Linux).
- Acesse Tecnologia > Administração > Implantação de front-ends;
- Clique em Destino, para visualizar uma lista com os destinos existentes, e clique em Adicionar;
- Preencha as informações do destino: tipo, nome e URL base. Os novos campos serão exibidos de acordo com o tipo selecionado;
- Clique em Salvar.
Nota
Não é possível configurar um ambiente "misto", com alguns front-ends configurados para uso na nuvem e outros para uso on-premises.
- Acesse Tecnologia > Administração > Implantação de front-ends;
- Clique em Adicionar e selecione a origem do front-end. Clique em Ok;
- Na lista com todos os front-ends disponíveis para instalação que esta origem possui, clique sobre um serviço para visualizar todas as suas versões;
- Clique em Instalar ao lado da versão ou selecione vários front-end simultaneamente e clique em Instalar selecionados;
- Selecione o destino onde será implantado o front-end e o módulo onde o arquivo config.json será aplicado, clique em Instalar;
- Uma notificação aparecerá na conclusão do processo e o front-end será listado na tela de Implantação.
Para atualizar ou remover um front-end existente, acesse Tecnologia > Administração > Implantação de front-ends e busque pelo serviço no campo de pesquisa.
Para remover, selecione o front-end desejado e clique em Remover instalação. Em caso de atualização, altere o campo Versão e clique em Aplicar. Uma notificação aparecerá no final de ambos os processos.
O front-end deve conter em sua especificação quais serviços que possui como dependência. O frontend-updater compara essa informação com os serviços em execução no ambiente, com objetivo de alertar sobre possíveis problemas de modo antecipado. Ao identificar uma versão não suportada durante a sua implantação do front-end, uma notificação é enviada ao usuário que solicitou a implantação.
Além disso, é possível visualizar essa informação através da sua tela de implantações. Para considerar uma dependência como atendida, as seguintes regras são consideradas:
- O versionamento deve ser semântico e sem prefixo/sufixo, apenas major.minor.patch;
- A versão maior deve ser igual;
- O menor da versão do serviço em execução deve ser maior ou igual a versão da dependência.