Como desativar algumas ramificações no Multibranch Jenkins Builds?


9

Tenho um trabalho multibranch definido para executar qualquer ramificação com um arquivo Jenkins.

Tenho algumas opções em que posso pensar se quero remover uma ramificação da lista de tarefas em execução para o pipeline de várias ramificações.

  1. Eu posso excluir o ramo
  2. Eu posso excluir o arquivo Jenkins nesse ramo

A segunda solução é boa, exceto que eu preciso confirmar e enviar isso para o repositório git do meu ramo, e se esse ramo for mesclado em outro ramo, ele desaparecerá do arquivo Jenkins.

Qual é a melhor maneira de desativar apenas algumas ramificações de um pipeline de várias filiais?

Respostas:


16

Jenkins pode filtrar ramificações em um pipeline de várias filiais pelo nome usando um curinga ou expressão regular.

ramos de filtro de jenkins


Alguma maneira de fazer isso dentro de um arquivo Jenkins (então é reproduzível)?
xjcl 18/02

11
Sim, você pode adicionar when { anyOf { branch 'master'; branch 'release/**' } }em qualquer estágio (no declarativo) ou if (env.BRANCH_NAME == 'master' || (env.BRANCH_NAME).startsWith('release/')) {}no pipeline com script (quase em qualquer lugar). Para a primeira opção, há mais disponível em jenkins.io/doc/book/pipeline/syntax/#when . De qualquer forma, a melhor maneira é configurá-lo no plug-in pipeline de várias filiais, conforme indicado na resposta.
biolauri 26/02

0

Simplesmente exclua o arquivo Jenkins nos ramos para os quais você não deseja ter trabalhos correspondentes. Isso excluirá o trabalho de ramificação (é claro, se você definiu sua "Estratégia de item órfão" apropriadamente).

Da perspectiva de um projeto Jenkins Multibranch Pipeline, isso tem o mesmo efeito que a exclusão da ramificação. Isso ocorre porque é simplesmente a varredura de ramificações que contêm arquivos Jenkins como critério para quando criar (ou excluir) um trabalho de ramificação correspondente.

Reverta a confirmação para restaurar o arquivo Jenkins se / quando você precisar do trabalho de ramificação novamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.