Jenkins constrói o relógio para novos ramos e constrói um ramo nomeado

3

Gostaria de configurar uma única compilação do Jenkins ("job") que seja:

  1. observe novas ramificações e construa-as quando elas aparecerem
  2. crie uma ramificação nomeada ou confirme sob solicitação

Eu posso conseguir (1) definindo "Ramos para construir" para "**"

Eu posso conseguir (2) tornando a construção parametrizada e definindo "Ramificações para compilar" para "ramificação $" (como este tutorial )

Existe alguma maneira de fazer as duas coisas ao mesmo tempo?

Motivação

Meu caso de uso para (1) é que eu quero que "ramificações de recursos" sejam testadas antes da mesclagem no mestre, para que possamos ver na revisão de código / tempo de solicitação pull se as alterações passam em todos os testes.

Meu caso de uso para (2) é que às vezes uma compilação falha por uma razão espúria (como um teste escamoso) e eu quero reexecutá-la, ou talvez uma ramificação antiga tenha caído da parte inferior da história e eu deseja executar novamente seus testes.

    
por Rich 31.05.2016 / 13:09

2 respostas

2

Se você tiver uma construção parametrizada sem valor padrão e também definir sua tarefa para pesquisar o controle de origem em Build Triggers > Poll SCM , tudo deverá funcionar.

É importante que o parâmetro branch não tenha valor padrão, de modo que $branch esteja vazio quando o job for acionado por polling, porque Branches to build interpreta um valor vazio como significando qualquer ramificação.

(Observe que isso criará cada confirmação, não apenas "novas ramificações" de acordo com (1), mas também qualquer solução que defina Branches to build para ** conforme sugerido.)

    
por 01.06.2016 / 18:24
2

Eu estava no mesmo lugar, ativando 'Forçar sondagem usando o espaço de trabalho' corrigindo issues.jenkins-ci.org/browse/JENKINS-29896

    
por 10.03.2017 / 09:24