Duvida - Deploy Java

Estou com um projeto pessoal que estou utilizando Tomcat + VRaptor 3 + Hibernate.

O projeto está quase terminado, porém sempre faço deploy’s localmente, ou seja, na minha maquina. Eu aluguei um servidor VPS na eapps ( http://eapps.com ).

Quero fazer o deploy da minha aplicação para lá, só que enviar o .war toda vez é praticamente inviável. Pois o war fica com praticamente 80MB.

Então pensei no seguinte:

Mandar o projeto que eu tenho para o servidor e criar o war no servidor mesmo utilizando o ANT. Porque assim eu apenas substituiria os arquivos fonte que foram modificados e mandaria o ANT fazer o build novamente.

Gostaria de saber se esta é a melhor forma para fazer Deploy de aplicações java e se possível deixarem algumas dicas para deploy de aplicações java ee.

Desde já, eu agradeço pela sua atenção.

Helio Ricardo.

[quote=heliortf]Estou com um projeto pessoal que estou utilizando Tomcat + VRaptor 3 + Hibernate.

O projeto está quase terminado, porém sempre faço deploy’s localmente, ou seja, na minha maquina. Eu aluguei um servidor VPS na eapps ( http://eapps.com ).

Quero fazer o deploy da minha aplicação para lá, só que enviar o .war toda vez é praticamente inviável. Pois o war fica com praticamente 80MB.

Então pensei no seguinte:

Mandar o projeto que eu tenho para o servidor e criar o war no servidor mesmo utilizando o ANT. Porque assim eu apenas substituiria os arquivos fonte que foram modificados e mandaria o ANT fazer o build novamente.

Gostaria de saber se esta é a melhor forma para fazer Deploy de aplicações java e se possível deixarem algumas dicas para deploy de aplicações java ee.

Desde já, eu agradeço pela sua atenção.

Helio Ricardo.[/quote]

Oi,

Não entendi o que você quis dizer com fazer o build no servidor usando o ANT, isso quer dizer que você precisaria compilar o fonte no servidor? Não acho que isso seja uma boa idéia.

Acho que talvez você pudesse reduzir o tamanho desse war, talvez criando um outro war com imagens e conteudo estático (não sei se é o caso) e tornar o war que vai ser redeployado possuindo o outro como dependência.

Ai o mais simples é você fazer o ftp do arquivo para o servidor ou então acessar direto a interface administrativa do servidor e fazer o update do war.

Não sei se esta é sua dúvida ou se ajudei a esclarecer algo.

Abs

Até entendi o que você disse mas é que já trabalhei com PHP e Ruby on Rails. É só mandar os arquivos necessários pro servidor e pronto.

Mandar toda a aplicação é realmente complicado, ainda mais quando a conexão não ajuda muito.

O que eu tinha pensado em fazer para tornar o processo similar era enviar os fontes para o servidor e compilar tudo lá através de um processo ANT.

Assim eu enviaria somente os fontes que realmente foram modificados e mandaria compilar tudo no servidor. Acredito que isso pouparia o tempo de upload de arquivos pro servidor.

A melhor alternativa é sempre mandar somente o war?

Porque muita das vezes são modificações simples, uma classe ou outra. As vezes até um css.

Ter que mandar o war todo é realmente lento.

Eu recomendo você dar uma olhada no maven, tem um goal para deploy inclusive remoto, veja se ajuda, mesmo usando o maven acho interessante você quebrar este war em aplicações menores, até mesmo separando o conteúdo estático no servidor, não precisa fazer o deploy de tudo.

http://www.pbjug.org/jugs/documentos/maven_2#fazendo_a_implantacao_deployment_do_sistema

Já vi comentarem aqui no forum isso ai abaixo, mas nunca usei e não sei como funciona…

http://cargo.codehaus.org/Home