Um dos meus papéis na minha equipe é a pessoa de construção . Sou responsável por manter / atualizar nossos scripts de construção e garantir que estamos construindo 'sem problemas' no servidor de integração contínua. Normalmente, não me importo com esse trabalho, embora muitas vezes pareça que estou constantemente cuidando do servidor de CI.
Às vezes, esse trabalho pode ser irritante porque, se a construção for interrompida, eu tenho que largar a história em que estou trabalhando e investigar a falha na construção. As falhas de compilação acontecem diariamente em nossa equipe. Às vezes, os desenvolvedores simplesmente não constroem localmente antes de confirmar, para que os testes falhem no servidor de IC. Nesta situação, eu gosto de chegar rapidamente à pessoa que teve o 'commit ruim', para que a compilação não fique quebrada por muito tempo. Às vezes (com muito menos frequência) existe uma condição estranha no servidor de IC que precisa ser depurada.
Sei que muitas equipes maduras usam a Integração Contínua, mas não há muito material disponível sobre boas práticas.
Meus problemas apontam que nossa integração contínua não é muito madura ou isso simplesmente faz parte do trabalho?
Quais são algumas boas práticas a serem seguidas? Quais são as características da integração contínua madura ?
Atualizar
Em vez de responder a alguns comentários, vou fazer uma atualização. Temos um comando único e simples que faz exatamente o que o servidor de compilação fará ao criar o aplicativo. Ele irá compilar, executar todas as unidades / integração e alguns testes rápidos baseados na interface do usuário.
Lendo as respostas de todos, parece que podemos ter dois grandes problemas.
- Servidor de CI não está reclamando alto o suficiente quando uma compilação falha.
- Os desenvolvedores não sentem que é responsabilidade de todos garantir que seu commit seja realizado com êxito.
O que torna as coisas mais difíceis na minha equipe é que temos uma equipe grande (10 ou mais desenvolvedores) E temos alguns membros da equipe offshore comprometendo-se quando nem estamos no trabalho. Como a equipe é grande e estabelecemos que pequenas e freqüentes confirmações são preferidas, às vezes temos muita atividade em um dia.