Gostaria que Jenkins disparasse uma compilação quando um conjunto de patches fosse carregado ou alterado em Gerrit. Como, exatamente, eu configuro isso? [fechadas]

6

Estou usando o Jenkins 1.557 para assistir a uma instância do Gerrit 2.8 para alterações. Eu estou usando os seguintes plugins:

  • Git Plugin 2.1.0
  • Git Client Plugin 1.7.0
  • Gerrit Trigger 2.11.1

Quando uso "test connection" no Gerrit Trigger, ele retorna com sucesso, então sei que as credenciais estão funcionando. Estou usando os valores padrão no botão "avançado".

Para o meu tipo de compilação de teste, estou usando um repositório git, que Jenkins faz check-out (adicionei uma etapa de compilação post de "ls -l" e ele mostra o conteúdo do repositório corretamente). Eu tenho o gatilho de compilação definido como "gerrit event" e para "gerrit trigger" eu tenho "Verifique patchsets não revisados" selecionados e um gatilho para "patchset criado" ativado. As configurações do projeto gerrit parecem corretas.

Não consigo fazer o build disparar fazendo o upload de uma nova alteração ou de um novo patchset para uma alteração. Quando eu disparar manualmente a compilação usando o botão "Consulta e acionar patches Gerrit", a compilação acontece, mas nenhum voto é registrado. Eu estou claramente faltando em parte do quebra-cabeça - se eu fizer ssh em gerrit e fizer um "stream-events", eu vejo os eventos que estou esperando ver.

Jenkins - o guia definitivo - de O'Reilly não cobre realmente Gerrit. Eu estou tentando evitar polling porque haverá dezenas de git repos gerenciados por este exemplo Jenkins.

Qual é o próximo passo na depuração?

    
por Ry Jones 02.04.2014 / 22:01

1 resposta

4

Houve algumas mudanças no passado, que quebraram o plug-in:

  • O Gerrit 2.8 removeu o comando approve reprovado, que o AFAIK quebrou o plug-in, consulte discussão e Notas de versão . Isso foi corrigido com 2.11.0-beta1, então eu acho que este não é o caso para você.

  • O Gerrit 2.7 introduziu o privilégio Eventos de fluxo , que proíbe que usuários recebam eventos de fluxo por padrão, veja Release Notes . Muito provavelmente, o usuário do Jenkins não tem esse privilégio de acesso e, portanto, nenhuma compilação é acionada após uma alteração.

por 02.04.2014 / 22:56