Pretested commit com Jenkins?

2

Eu recebi um pedido do homem no andar de cima para configurar o Jenkins para o commit do Pretested (através de uma build no Jenkins, se todos os testes de unidade e outro passe então cometem e constroem um dist). Estamos usando o svn aqui.

Alguém está claro sobre como isso pode ser feito com Jenkins? Eu estou achando próximo a nenhuma informação sobre isso.

    
por Slamice 20.01.2012 / 08:53

3 respostas

3

Desculpe dizer isso, mas não é assim que você usa o software de controle de revisão. Você tem histórico completo no servidor, não importa o que você faça no cliente. Você pode reverter qualquer alteração, incluindo a exclusão de tudo. Confirmar somente o código testado em batalha para o controle de revisão não lhe dá absolutamente nenhum benefício de usar o controle de revisão em primeiro lugar.

O que você pode fazer é: marcar um branch como estável (deve ser /trunk ou /braches/current-stable , sugiro o último), permitir que desenvolvedores se comprometam em qualquer outro lugar. Configure o Jenkins para fazer testes em /trunk e mescle as confirmações de trunk a current-stable apenas quando passarem nos testes de compilação.

    
por 20.01.2012 / 10:19
3

Eu assumo que o "homem no andar de cima" está apontando para um ramo mestre / tronco que está sempre em um estado liberável, daí a exigência de pré-teste. Isto é inerentemente difícil com um sistema de controle de revisão centralizado como o Subversion e provavelmente envolverá algum tipo de & fusão.

Eu pessoalmente uso o git em conjunto com o Gerrit ( link ), uma ferramenta de revisão de código junto com o Jenkins. Desenvolvedores puxam de um branch master, mas empurram para um "repositório de git de staging" hospedado por Gerrit. Gerrit, por sua vez, reage desencadeando um trabalho de construção de Jenkins para a mudança. Se todos os testes forem aprovados, o Gerrit aceita a alteração e a mescla no branch master.

    
por 12.10.2012 / 17:11
2

Você também pode usar o Svn Revert Plugin em Jenkins.

Usando isso, ele reverteria os commits que tornam a construção instável, o que elimina a necessidade de um commit pré-testado.

(Eu sou o autor do plugin).

    
por 01.06.2012 / 11:50

Tags