MouseOver Studio

MouseOver Studio header image 2

Porque o Signal não tem isso nem aquilo?

maio 25th, 2010 por Diego Carrion · 3 comentários

Muitas pessoas me perguntam porque o Signal não tem diversas funcionalidades que outras ferramentas tem e se seria legal implementar elas. Nesse post vou explicar rapidamente a motivação para o Signal ser do jeito que é, sem entrar em muito detalhe, devido a que já existe muita informação sobre o assunto.

Antes de começar, é bom ter bem claro que integração continua é uma pratica e não uma ferramenta.

Uma das práticas da integração continua é automatizar o build e é por tal motivo que o Signal executa unicamente um comando e não oferece, por exemplo, a funcionalidade de executar varias coisas antes de de rodar o build ou rodar ele com diferentes versões do Ruby.

Outra prática da integração continua é rodar o build em cada atualização do repositório central, o que explica por que no Signal você não consegue agendar os builds, ele espera que você os execute no momento certo, após cada atualização, chamando a devida URL.

Algumas pessoas me pediram que o Signal mostre o histórico dos builds, de modo que alguém consiga saber em qual momento o build quebrou. Essa funcionalidade é valiosa quando o build fica quebrado por um tempo e certo dia queremos consertar ele, o que devemos evitar acontecer. Que nem o Martin Fowler explicou no último link, uma atualização de código somente pode ser considerada completa quando o build decretou sucesso, caso contrario, devemos corrigir ele na hora.

Para finalizar, uma quarta prática da integração continua é automatizar os deploys. Algumas ferramentas oferecem algumas funcionalidades para o usuário poder configurar quando realizar o deploy, como por exemplo quando o build der sucesso. O Signal não oferece essa funcionalidade porque acredito que essa lógica deve ser independente da ferramenta, deve ser parte do processo a ser executado.

Tags: Integração Continua · signal

3 respostas ate agora ↓

  • 1 Roger Leite // mai 26, 2010 at 10:17 am

    Ow Carrion, perfeito!
    Acho que o segredo de um ótimo software é ser objetivo!

    obs: corrigir “concertar” para “consertar”.

  • 2 Diego Carrion // mai 26, 2010 at 10:23 am

    Valeu Roger, fiz a correção :)

  • 3 Jairo Luiz // mai 26, 2010 at 2:15 pm

    Opa Diego,

    quando você disse “Muitas pessoas me perguntam…”, me senti citado. E, creio eu, esse post é fruto das muitas conversas que tivemos sobre a evolução do Signal e o pelo que eu disse “Vou escrever o meu próprio servidor de CI”. Parabéns Diego, pelo texto curto, simples e objetivo que esclarece os reais objetivos do seu projeto.

Deixar um comentário