Automação.
Quando você estiver desenvolvendo, apenas nos projetos mais simples, o botão padrão "build" fará tudo que você precisa fazer; talvez seja necessário criar WS de APIs, gerar documentos, vincular-se a recursos externos, implantar as alterações em um servidor, etc. Alguns IDEs permitem personalizar o processo de compilação adicionando etapas ou construtores adicionais, mas isso significa apenas que você está gerando seu script de construção através das mercadorias do IDE.
Mas desenvolver um sistema não é apenas escrever código. Existem várias etapas envolvidas. Um script independente de IDE pode ser executado automaticamente, significando que:
-
Quando você faz uma alteração no controle de versão, uma nova compilação pode ser iniciada automaticamente pelo servidor. Isso garantirá que você não tenha esquecido de enviar nada necessário para a compilação.
-
Da mesma forma, depois que a compilação é feita, os testes podem ser executados automaticamente para ver se você quebrou alguma coisa.
-
Agora, o restante da organização (QA, sysadmins) tem um produto criado que
a) é perfeitamente reproduzível apenas a partir da versão de controle.
b) é comum a todos eles.
Mesmo quando estou trabalhando como um homem, usei scripts para esse propósito; quando eu tivesse desenvolvido a correção, eu iria me comprometer com o SVN, exportar o SVN de volta para outro diretório e usar o script de construção para gerar a solução, que iria para os sistemas de pré-produção e depois para a produção. Se algumas semanas mais tarde (com a minha base de código local já mudada) alguém reclamasse de um bug, eu saberia exatamente qual revisão do SVN eu teria que fazer o checkout para depurar o sistema corretamente.