Monday, May 06, 2013

Openshift, como fazer o deploy de um war pronto no Tomcat

No Openshift é possível trabalhar com diversas tecnologias, como: Java, PHP, Ruby, Node.js e até Perl. Além das linguagens, a plataforma cloud computing da Red Hat (PaaS) também oferece suporte a uma série de serviços complementares, como gestor de build (Maven p/ Java), ferramenta para integração contínua (Jenkins), controlador e repositório de fontes (Git).

O Openshift agrega esses serviços/ferramentas a plataforma com objetivo de ampliar a capacidade de desenvolvimento. Dessa forma além de usar o hosting em nuvem, você pode contar com uma melhor gestão de build, baseado na execução de testes, com a possibilidade de commits em repositórios segmentados.

Mas é possível ignorar esses serviços, e fazer o deploy da aplicação "pronta" no Openshift. Pronto no sentindo de que o artefato foi gerado local, sem interferência do Openshift. Isso pode ser interessante em situações pontuais, como demos ou provas de conceito.

Nesse post demonstro como realizar o deploy de uma aplicação Java web (um war), no Tomcat, sem utilizar o Maven, Jenkins e Git*.
*Na verdade não colocamos os fontes no Git, mas o utilizamos para armazenar o war da aplicação.

1 - Crie a aplicação no Openshift, e faça o clone local do repositório Git. Note que dentro do diretório principal, no repositório local, existe a subpasta webapps.

2 - Acesse o código fonte da aplicação para gerar o artefato web, o war. Se preferir utilize o Maven, rodando local, para controlar o build gerar o war.

3 - Copie o arquivo war para a pasta webapps, dentro do repositório Git local:
$ cp aplicacao.war  [caminho do repositorio]/webapps/

4 - Coloque o arquivo no repositório local e master. Execute o fluxo add / commit e push do Git:
$ cd  [caminho do repositorio]/webapps/

$ git add aplicacao.war
$ git commit -m "seu comentario"
$ git push origin master

Em caso de um redeploy, uma nova versão, antes do passo 3, remova o arquivo war atual:
$ git rm aplicacao.war 

Pronto, com esses passos é possível publicar uma aplicação "pronta" no Openshift.

http://twitter.com/edermag
http://www.yaw.com.br

3 comments:

Fabio Caetano said...

Valeu!!! Passei o dia tentando subir minha aplicação neste ambiente, aos poucos fui descobrindo como funciona, e no final faltava só esta dica. Valeu mesmo meu velho....

Fabio Caetano said...

Valeu!!! Passei o dia tentando subir minha aplicação neste ambiente, aos poucos fui descobrindo como funciona, e no final faltava só esta dica. Valeu mesmo meu velho....

Blogger said...

DreamHost is ultimately the best hosting provider for any hosting plans you might need.