Foi anunciada hoje a disponibilidade da versão 6 do VMWare Workstation 6, ferramenta que todo desenvolvedor deveria ter. Com muitos recursos novos e interessantes, incluindo suporte ao Windows Vista.
Eu já vinha testando essa versão durante o beta no Vista. Rodo Win98, Win2000, XP, Win2003, Vista, Ubuntu, OpenSUSE, Red Hat, tudo em máquina virtual, sem nenhuma dificuldade. Lógico que não dá pra rodar tudo de uma vez, porque mesmo com 2GB de RAM, ficaria tudo uma carroça, mas normalmente não preciso mais de uma VM rodando ao mesmo tempo.
Utilizamos muito VM aqui, minha máquina de build por exemplo, é uma VM XP, rodando no VMWare Server instalado em nosso servidor Win2003. Ela tem IP próprio, acesso remoto próprio, praticamente tudo independente. Ninguém consegue saber que é uma VM se não contarem.
TPodcast
6 Comments
A “maquina de build” é uma máquina(virtual, eu sei) dedicada exclusivamente a build? Se sim, qual a vantagem disso?
Aqui onde trabalho estamos implementando uma máquina de Build. A maior vantagem que vejo é relacionada ao uso de componentes de terceiros. Pois hoje pode ocorrer de determinado desenvolvedor esta com versão diferente dos demais e dependendo da onde for gerada a versão que vai pro cliente podemos ter problema de incompatibilidade. Isso ocorre atualmente aqui com muita frenquencia.
Utilizando uma máquina de build (da forma que estamos implantando aqui) o desenvolvedor até pode ter uma versão diferente de alguns componentes na sua máquina, mas pra alterar a versão da máquina de build, este componente deverá ter sido “certificado” pelo chefe do projeto e pelo pessoal de qualidade.
E a partir desde momento, só saem para clientes releases compiladas na máquina de build. E tudo de forma automática.
Outro ponto interessante é o controle de versão que será controlado a partir das versões compiladas com sucesso nesta máquina.
Falou…
Sim Magno, a máquina é dedicada exclusivamente a build. As vantagens são inúmeras, o Zote já enumerou várias delas.
Enfim, você tem um ambiente e um processo controlado para gerar builds.
A máquina de build sempre faz um checkout completo do código fonte para fazer o build, então você não corre o risco de um desenvolvedor ter esquecido de commitar alguma coisa. Entre muitas outras vantagens.
Depois que se utiliza uma máquina de build, é dificil imaginar como tocar uma empresa séria de software sem isso. Pra seria algo como não ter controle de versão, ou seja, impensável.
Outra vantagem é que a máquina de build se torna flexível, em caso de problema com o hardware, basta voltar o backup da VM em outra máquina física e “startá-la”, dessa forma seu build continua saindo, sem dor de cabeça nenhuma.
Complementando o que o Erick disse, você pode agregar uma ferramenta como o FinalBuilder para executar o script de build e informar a equipe de desenvolvimento, trabalho dessa forma e todos os dias durante a madrugada, o FinalBuilder é executado compilando todos os nossos produtos, disponibilizando para os testadores/suporte e instalação nos clientes.
Além disso, você poderá incluir testes unitários nessa mesma VM qual ficará validando suas regras de negócio antes mesmo do build.
Só fiz um pequeno teste com o FinalBuilder. Atualmente estou usando o CruiseControl.Net e estou gostando bastante dele.
Erick, você já chegou a fazer um comparativo entre os 2?
Abraço
Zote, tenho pouca experiência com o CC.Net, mas também tenho ele instalado na nossa máquina de build.
Eles não são exatamente ferramentas competidoras, mas sim complementares. Tenho utilizado o CC.Net para disparar projetos FinalBuilder, então tenho o melhor dos dois mundos.