Minha compilação Jenkins trava entre as etapas de compilação e pós-compilação.
A saída do console mostra que há uma espera de 6 minutos (mas já vi esperas de até uma hora):
10:53:26 BUILD FAILED in 1m 7s
10:53:26 4 actionable tasks: 4 executed
10:53:26 Build step 'Invoke Gradle script' changed build result to FAILURE
10:53:26 Build step 'Invoke Gradle script' marked build as failure
11:09:29 [CucumberReport] Using Cucumber Reports version 4.9.0
Eu encontrei este e este perguntas que têm problemas semelhantes, e eles dizem que a solução é a criação -DSoftKillWaitSeconds=0
em jenkins.xml
.
No entanto, eu preciso de uma maneira de definir a opção apenas para trabalhos específicos, sem mexer nas configurações globais do Jenkins (eu não gostaria de mexer com outros projetos).
EDITAR:
Quando abro manualmente o trabalho, antes da etapa [CucumberReport], os relatórios de pepino ainda são gerados.
Eu também verificado abortar a construção se é preso caixa em opções de compilação meio ambiente, com Timeout estratégia definida para No Activity
(timeout segundos = 2).
Quando crio o projeto com essas configurações, a compilação falhará com "Abortado após 0 segundos", mostrado no Histórico da compilação, como antes, mas a saída do console será a mesma. (Nada muda, os Relatórios de pepino serão gerados, mas após um certo tempo limite).
timeout
opção no seu pipe? Você definitivamente deve publicar uma versão simplificada do seu pipe. É difícil "adivinhar" o que pode estar errado. Além disso, esta pergunta provavelmente é mais adequada para estar em devops.stackexchange.comRespostas:
Não é possível selecionar um valor específico para o trabalho
SoftKillWaitSeconds
(o valor é derivado do núcleo Jenkins em um ponto em que o nome do trabalho não é conhecido).Minha recomendação é corrigir o tratamento de cancelamento no seu trabalho , para que não dependa de um "tempo limite de interrupção suave". Se você estiver executando em um sistema Unix-ish, poderá garantir isso executando seu trabalho em um novo grupo de processos (
set -m
no bash) e (por exemplo) configurando uma interceptação de saída adequada.fonte
Estamos usando o plug-in Build-timeout para eliminar trabalhos bloqueados com a estratégia de tempo limite definida como
No Activity
ouAbsolute
. Para mim, essa é uma boa abordagem quando você usa projetos de estilo livre. O motivo pelo qual sua compilação é "interrompida após 0 segundos" é que provavelmente há processos filhos inacabados. Da documentação :Você pode tentar a estratégia de tempo limite absoluto. Você pode definir uma variável global para não repetir o valor do tempo limite nos trabalhos:
Se isso não estiver funcionando, você pode tentar procurar nos logs https: // your-jenkins-server / log ou em um despejo de encadeamento.
A interrupção pode ser causada pela versão nova / antiga de um plug-in. Tente descobrir quais são os processos filho inacabados. Tente desativar as ações pós-compilação uma a uma para encontrar a que pode ser a causa do problema. Você pode ver /superuser/1401879/debugging-what-happens-when-a-jenkins-build-unexpectedly-pauses-or-hangs
fonte