Как сказать Дженкинсу, чтобы он не убивал процессы после успешного выполнения задания в проекте 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.
Как сказать Дженкинсу, чтобы он не убивал процессы после работы?
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 для более подробной информации.
Comments