-
1. Re: Automatizar deploy de aplicações
luan.cestari Sep 3, 2013 4:04 PM (in response to neylorsousa)Oi =)
Cara eu tenho uma idéia de solução usando um Web Server como HTTPD como Load Balancer e dois ou mais JBoss atrás. Basicamente você teria que configurar algumas coisinhas (como stick session e outras coisas) para as sessoes se manterem em um servidor e depois usar uns hacks para forçar que novas sessões fossem criadas somente em um nó, depois de migrar todas as sessões de um nós X, você poderia realizar o Deploy (Via CLI usando AS 7 com Maven e algum CI tipo Jenkins) que você não teria nenhum downtime.
Att.
Luan
-
2. Re: Automatizar deploy de aplicações
mauriciomag Sep 3, 2013 4:55 PM (in response to neylorsousa)Oi Neylor tudo bom ?
Cara acredito que a solução do Luan seja a mais utilizada atualmente. Eu mesmo gosto muito no JBoss 7 utilizar o CLI + Maven + Jenkins para Deploy e Integração Contínua.
Se estiver com a session replication o processo todo fica até transparente para o usuário.
Abraços
-
3. Re: Automatizar deploy de aplicações
mauriciomag Sep 3, 2013 5:00 PM (in response to neylorsousa)Uma Boa maneira de "forçar" a sessão em um servidor --> http://www.mastertheboss.com/jboss-cluster/sticky-session-configuration-in-eap-6-as-7
-
4. Re: Automatizar deploy de aplicações
adrianoschmidt Sep 6, 2013 3:05 PM (in response to mauriciomag)Também sempre utilizo JBoss 7 com CLI + Maven + Jenkins...
No Jenkins você pode configurar passo a passo... parar um jboss.. deploy.. sobe... testa.. para o outro...
-
5. Re: Automatizar deploy de aplicações
ataxexe Sep 17, 2013 4:53 PM (in response to neylorsousa)Eu vou na mesma linha do pessoal. A diferença é que eu, assim como o pessoal do Hibernate, não gosto do Maven. No meu caso eu uso o gradle no lugar dele.
A forma de fazer o deploy pode variar um pouco dependendo do tipo de aplicação ou da atualização. Algumas delas poderão exigir uma janela (caso não seja admissível que um usuário esteja rodando a versão "desatualizada" no momento do processo). Ah! E eu sempre paro o servidor em vez de fazer um redeploy para evitar os famosos estouros de perm gen.
Tudo isso parece muito burocrático quando não temos load balancers e clusters, mas mesmo se tratando de um solitário JBoss, vale a pena automatizar o deploy.
-
6. Re: Automatizar deploy de aplicações
neylorsousa Oct 11, 2013 6:32 AM (in response to adrianoschmidt)Adriano você pode me passar os plugins e as referências de como realizar esta configuração?
-
7. Re: Automatizar deploy de aplicações
adrianoschmidt Oct 15, 2013 10:27 AM (in response to neylorsousa)Qual sua duvida exatamente Neylor?
Você tem o Jenkins instalado? Esse é o primeiro passo..
Depois faça ele compilar sua aplicação...
Depois faça ele deployar sua aplicação...
Você pode fazer o jenkins parar o jboss.. limpar pastas temporárias.. subir..
Tente seguir estas ideias e qualquer dúvida é só avisar!
Abraço!
-
8. Re: Automatizar deploy de aplicações
neylorsousa Oct 15, 2013 11:00 AM (in response to adrianoschmidt)Adriano já possuo o Jenkins instalados.
A dúvida é como fazer o Jenkis realizar os procedimentos que falou com o JBoss (parar, limpar pastas temporárias, realizar deploy, subir). Ele vai utilizar um plugin com o maven ou tem plugins no Jenkis para fazer isso funcionar? Ressalto que o ambiente onde vou realizar o deploy é balanceado, ou seja, tenho que fazer o rollout da aplicação. Possui alguma referência que eu poça seguir?
-
9. Re: Automatizar deploy de aplicações
adrianoschmidt Oct 15, 2013 2:18 PM (in response to neylorsousa)Vou te dar umas ideias aqui, depois você pode ir melhorando e adaptando ao seu ambiente..
- na máquina onde está o jenkins você vai precisar do jboss
- abra um propt de comandos e pare o jboss via linha de comando pelo jboss-cli ( ./jboss-cli.sh ... shutdown ) não lembro o comando exato de cabeça agora..
- crie um novo job no junkins
- crie um step neste job e escolha "rodar comando do linux" ou ""rodar comando do windows"
- cole o comando que você executou para dar shutdown no jboss
você vai fazer a mesma coisa para fazer deploy, por exemplo, via CLI você consegue fazer deploy também.. o mesmo script que você roda no prompt você colocará no jenkins
para limpar as pastas temporárias você pode rodar comando do sistema operacional mesmo (rm rmdir)
existem plugins do maven para jboss... existem plugins do jboss para o jenkins...
você tem que verificar qual é a melhor solução para o seu caso..
abraço!!
Adriano Schmidt
www.localhost8080.com.br