Estou executando um comando shell no final de uma implantação do Jenkins para reiniciar um script para sempre:
npm install && forever stop app.js && forever start -a -l /var/log/forever.log app.js
Quando executo isso como usuário jenkins, tudo funciona bem e a saída do console do histórico de compilação também me diz que o script forever está em execução. No entanto, o processo para logo após a conclusão da implantação e o processo para sempre é interrompido.
O que causa esse comportamento e como posso corrigi-lo?
deployment
node.js
jenkins
Patrick
fonte
fonte
A questão é bastante antiga, mas acho que há uma solução melhor neste caso.
Usar plug-in de script pós-compilação
O plug-in em si não é atualizado desde o início de 2016, mas ele funciona e você não precisa mexer nas variáveis de ambiente. Parece um pouco melhor para mim.
fonte
Nos novos trabalhos de Pipeline, a configuração
BUILD_ID
não funciona mais. Em vez disso, você precisa definirJENKINS_NODE_COOKIE
para impedir que Jenkins interrompa seu processo quando o trabalho terminar.Ou, mais seletivamente:
Veja o wiki no ProcessTreeKiller e este comentário no Jenkins Jira .
fonte
Tente com:
fonte