Как сказать Дженкинсу, чтобы он не убивал процессы после успешного выполнения задания в проекте multijob?



У меня есть проект Дженкинса multijob.



В 1-й фазе я запускаю базы данных и строю основную часть.



Пример команды оболочки для запуска Mongodb:



/root/software/mongodb-linux-x86_64-2.6.3/bin/mongod&


Во 2-й фазе у меня есть различные задания для создания некоторых клиентов.



После задания 1-й фазы, после запуска серверов и построения основной части. Я вижу журналы -



Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
2016-08-26T20:23:00.815+0530 [signalProcessingThread] got signal 15 (Terminated), will terminate after current cmd ends
2016-08-26T20:23:00.833+0530 [signalProcessingThread] now exiting
2016-08-26T20:23:00.879+0530 [signalProcessingThread] dbexit:
2016-08-26T20:23:00.903+0530 [signalProcessingThread] shutdown: going to close listening sockets...
2016-08-26T20:23:00.903+0530 [signalProcessingThread] closing listening socket: 7
2016-08-26T20:23:00.903+0530 [signalProcessingThread] closing listening socket: 8
2016-08-26T20:23:00.903+0530 [signalProcessingThread] removing socket file: /tmp/mongodb-27017.sock
Finished: SUCCESS


Это останавливает все базы данных, и сборка не выполняется для заданий фазы 2.



Как сказать Дженкинсу, чтобы он не убивал процессы после работы?

586   3  

3 ответов:

Дженкинс использует специальный механизм для очистки дочерних процессов. Он ищет процесс с BUILD_ID, соответствующим номеру сборки. Вы можете установить его в другое значение, и Дженкинс пропустит процесс убийства.

Из документов..

Https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller

BUILD_ID=dontKillMe /your/mongodb/process

Согласно документам, которыми делится @jayan,

Вы можете отключитьпроцессы уничтожения, порожденные заданием во время сборки , установив свойство Java с именем hudson.util.ProcessTree.disable в значение true.

Это можно сделать в качестве параметра к двоичному файлу" java " при запуске Jenkins:

 java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war

Любой человек, столкнувшийся с той же проблемой и использующий проект конвейера, устанавливает JENKINS_NODE_COOKIE вместо BUILD_ID.

Не тратьте свое время на настройку HUDSON_COOKIE, HUDSON_SERVER_COOKIE, JENKINS_COOKIE или JENKINS_SERVER_COOKIE. Никто из них не работает в проекте "трубопровод".

См. https://issues.jenkins-ci.org/browse/JENKINS-28182 для более подробной информации.

Источник: https://devops.stackexchange.com/questions/1473/running-a-background-process-in-pipeline-job/1513#1513

Comments

    Ничего не найдено.