Pergunta

Temos um servidor de construção automatizado que constrói nosso código todas as noites, o que é útil para nós, pois nem todos em nossa equipe podem construir toda a árvore de origem. Ultimamente, alguns membros da equipe estão se tornando mais relaxados em corrigir erros de construção imediatamente; Às vezes, as semanas passam sem uma construção bem -sucedida. Eu até ouvi um desenvolvedor dizer: "A construção já está quebrada, agora é um bom momento para adicionar [algumas mudanças de quebra]. Como trabalho no código mais distante, geralmente estou trabalhando com partes da árvore que estão lamentavelmente fora de sincronia com o repositório de código -fonte, o que dificulta muito o teste de alterações antes de enviá -las.

Sinto que estamos perdendo a maior parte do benefício de fazer uma construção noturna, pois está continuamente quebrada. Estou muito fora da base aqui ou a fixação da construção deve ser uma prioridade mais alta?

Foi útil?

Solução

Corrigir a construção noturna deve ser a maior prioridade. Como você disse, se eles estiverem quebrados, não têm valor. Se as pessoas desejam verificar o código que causa quebra, elas devem fazer isso em uma ramificação e apenas mesclá -lo quando for testado.

Outras dicas

Esses desenvolvedores claramente precisam ser chutados de volta em forma.

Eu sugeriria construir pelo menos algumas vezes ao dia, se não sobre checkins. E depois de ter um ciclo de construção bem -sucedido, vá (de uma maneira brincadeira) para a pessoa que quebrou a construção - quando isso acontecer.

Todo mundo precisa se apropriar da base de código e assumir a responsabilidade.

Para ser sincero, também se trata de ter algum orgulho em seu ofício. Se, em última análise, as pessoas não dão a mínima se a construção estiver quebrada, e não depois de serem solicitadas a resolver, parece que eles estariam melhor fazendo algum outro trabalho.

Quanto mais você adiar, mais tempo será necessário para corrigir.
Se for corrigido imediatamente, as coisas que causam que ser quebradas devem ser mais frescas na cabeça de todos. As mudanças de quebra também podem estar se acumulando, tornando -o muito mais dor de cabeça para corrigir mais tarde.

É fundamental consertá -lo. Quanto mais você adiar, mais coisas você encontrará mais tarde. Como alguém pode dizer se suas mudanças quebraram a construção, se não começam com uma construção limpa?

Nosso padrão é fazer com que todas as nossas unidades e testes funcionais funcionem "verde" em uma caixa de integração neutra após uma confirmação. Obviamente, o desenvolvimento orientado a testes é apropriado para a nossa situação, mas pode não se encaixar na sua. Se você nem é capaz de construir o projeto, provavelmente há más surpresas à espreita nas confirmações anteriores.

Se for tão grande que o tempo necessário para construí -lo está no caminho de consertá -lo, técnicas como dividi -lo em projetos menores e integração contínua podem ajudar.

Um amigo meu me contou sobre sua equipe que tinha o Abobrinha de Doom. Qualquer pessoa que quebre a construção noturna teve que exibir o zod em sua mesa. Este vegetal estava em um estado de decomposição bastante avançado, que enviou a mensagem claramente que uma construção quebrada não era algo a ser tolerado.

Se a equipe não estiver motivada o suficiente para manter os habitantes noturnos, isso é algo que deve ser aplicado/incentivado pelos gerentes.

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