Pergunta

Eu estive empurrando para a integração contínua na minha empresa desde que entrei há 5 meses, mas depois de ter visto o tipo de aplicações que trabalham em I estou começando a pensar que ele pode não valer a pena o esforço de criação de cada e cada projeto para integração contínua.

Se você trabalha em um departamento de desenvolvimento onde o projeto média leva 2-3 semanas e uma vez que é implantado você raramente ou nunca têm que se preocupar com isso, vale a pena integração contínua o trabalho de configurá-lo?

Foi útil?

Solução

Provavelmente depende do seu processo. Se você tiver testes de unidade que cobrem seu código, em seguida, integração contínua vale cada bit. Estou assumindo que vocês todo o trabalho em um único módulo de trabalho como os projetos são de 2-3 semanas.

Eu não acho que as pessoas vão executar todos os testes para cada um de seus commits e integração contínua ajuda muito aqui.

A outra razão seria se o seu projecto é altamente modularizado. Eu trabalhei em sistemas onde há grande quantidade de módulos e um desenvolvedor não seria funcional testar o site inteiro antes de cometer. As coisas podem nem compilar corretamente como o outro módulo nem mesmo iria construir porque o desenvolvedor não o checkout o código completo.

Eu recomendo integração contínua de qualquer maneira. Com configurações como Hudson e Cruisecontrol, ele não leva muito tempo para configurar e se paga rapidamente.

Outras dicas

Pessoalmente, acho que CI e os vários processos que incentiva são sempre úteis. Obtendo configuração CI é bastante trivial, uma vez que você tem o conjunto de servidores até si. Você está basicamente apenas copiando um arquivo de configuração de um projeto, editá-lo e criar um novo projeto. Eu não não usar CI devido ao "esforço de criação de cada projeto".

Integração Contínua não é apenas uma questão de ferramentas, mas também um conjunto de processos (cometem regularmente, ter um sistema de controle de versão ...).

Em relação ao software IC, você pode instalar, configurar e começar a usar Hudson em menos de 10 minutos ! Então, por que você iria sem qualquer sistema de IC?

Ela realmente depende de quão rápido você pode configurar uma compilação automatizada e, em seguida, conseguir que se agarrado a um servidor de CI.

.NET

Eu vi-nos ir de qualquer compilação automatizada para uma compilação automatizada para um projeto em poucos minutos usando uppercut. Nós usamos isso e CruiseControl.NET (na configuração, podemos adicionar uma linha por projeto b / c nós aproveitar o pré-processador).

http://code.google.com/p/uppercut/

Algumas boas explicações aqui: uppercut

Se os seus muitos aplicativos compartilhar quaisquer componentes ou módulos comuns, CI e testes provavelmente vai ajudá-lo a perceber algo de ruptura. Se eles são realmente tudo pouco jogar fora, auto-contido roteiros, então você não pode precisar CI, mas é uma decisão difícil.

Como já foi salientado, uma vez CI é a instalação, em seguida, adicionar um novo projeto é trivial então eu diria que ir para ela. Um dos benefícios que você vai ver é que, se qualquer um dos seus projetos fazer mudar nunca você já tem CI e esperamos que a sua unidade testa pronto para ir para que você não terá nenhuma surpresa desagradável!

Integração Contínua não só está garantindo obras coisas, ele também permite que você documento e testar o processo de liberação, uma vez que seria feito por um novo desenvolvedor.

Isso garante que o cliente recebe o que foi testado, não o que o desenvolvedor apenas joga junto do seu disco rígido.

Isto pode ser extremamente importante para fins de manutenção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top