eu tenho uma duvida sobre trabalhar em equipe utilizando java, eu sei sobre o git e controladores de versão, minha duvida é sobre na hora de dar deploy, por exemplo alguém precisa fazer alterações em produção ai tem necessidade de tirar o .jar/war do servidor e fazer as mudanças, isso não faria com o que o sistema não funcionasse ? e isso é uma pessoa apenas, colocando em um cenário com 10 pessoas precisando fazer mudanças, é necessário deixar o servidor um bom tempo fora do ar o que pode gerar prejuízo. tenho duvida de como isso funciona.
Duvida trabalhando em equipe com java
6 Respostas
você deixa a versão que tá;
desenvolve a versão nova;
faz o deploy.
Geralmente, a realização de deploy num ambiente de produção é mais controlado, possuindo janelas onde isso deve ocorrer (por exemplo, num horário onde há poucas, ou nenhuma, pessoas usando o sistema).
Como o @FearX falou, após vc desenvolver a nova versão em um ambiente de testes/homologação vc planeja a substituição da versão com problema.
Não sei se todos os Servidores de App(Tomcat,Jboss,Weblogic,etc…) mas pelo menos os que conheço, já vem de fábrica com o “hot deploy” ativo e isto diminui bem o tempo que a app fica fora do ar.
Vc também pode preparar sua app e infra para funcionar em cluster e assim vc pode selecionar uma parcela de servidores para serem atualizados enquanto a outra parcela mantem a versão antiga. A Netflix faz isso muito bem! hehehe e tem muita documentação sobre isso. Mas isto já necessita de um investimento($ + estudo) hehehe.
É oq fazemos aqui hj. Nem é tão caro, a própria Amazon fornece ferramentas e treinamento pra isso. Vale a pena!
Olá amigo, poderia disponibilizar o link da Amazon ? Pois n achei.