Melhorar a qualidadeorganizar e facilitar o deploy das aplicações JEE pelas equipes



Basicamente este novo modelo define a princípio três ambientes distintos e interdependentes onde será possível realizar o deploys das aplicações para integração, homologação e produção.
Como pré-requisito as aplicações deverão ter versões estáveis (tags) geradas para cada ambiente de deploy solicitado no controle de versão na ordem e em horários pré-definidos para realizar os deploys previamente planejados e agendados como descrito a seguir:
  1. integração contínua (a cada commit): realizar o build e testes automatizados do projeto para verificar sua integridade antes de geração/liberação de uma versão.
  2. ambiente de desenvolvimento (tags/dev/x.x.x): responde pelo nome portal-dev, poderá realizar deploys a cada hora. A finalidade deste ambiente é realizar testes de integração das aplicações antes da homologação pelo usuário. Sugere-se, porém, que sejam realizados testes com o o servidor de aplicações localmente para simular este ambiente e/ou caso problemas sejam encontrados por causa da diferença de ambiente entre os servidores utilizados localmente (webservers Jetty e Tomcat) e nos ambientes (appserver Glassfish).
  3. ambiente de homologação (tags/tst/x.x.x): responde pelo nome portal-tst, poderá realizar deploys a cada hora. O seu objetivo é disponibilizar as aplicações para serem homologadas pelos usuários finais e/ou responsáveis pelas aplicações simulando o ambiente de produção.
  4. ambiente de produção (tags/prd/x.x.x): responde pelo nome portal.tjpr.jus.br, poderá realizar até um deploy a princípio antes do horário de expediente durante a madrugada (05:00).

deployer-dev - Hudson CI, é a ferramenta responsável por realizar os deploys agendados automaticamente através da criação de tags como descrito logo acima e também por realizar a Integração Contínua (CI - Continuous Integration) das aplicações a cada commit realizado.
Abaixo um screenshot da ferramenta citada demonstrando as 4 abas para a configuração dos projetos para cada caso descrito anteriormente.


ambiente de desenvolvimento