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