답변:
Jenkins는 작업에 의해 생성 된 모든 프로세스를 종료합니다.
BUILD_ID
환경 변수를 다른 것으로 설정하여 비활성화 할 수 있습니다 .
export BUILD_ID=dontKillMe
자세한 내용은 https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller 를 참조하십시오.
질문은 꽤 오래되었지만이 경우 더 나은 해결책이 있다고 생각합니다.
플러그인 자체는 2016 년 초부터 업데이트되지 않지만 작업을 수행하므로 환경 변수를 사용하지 않아도됩니다. 조금 더 깔끔한 것 같습니다.
새 파이프 라인 작업에서 설정이 BUILD_ID
더 이상 작동하지 않습니다. 대신 JENKINS_NODE_COOKIE
작업이 완료 될 때 Jenkins가 프로세스를 종료하지 않도록 설정해야합니다 .
sh 'export JENKINS_NODE_COOKIE=dontKillMe'
sh 'myProcess'
또는 더 선택적으로 :
sh 'JENKINS_NODE_COOKIE=dontKillMe myProcess'
ProcessTreeKiller의 Wiki 와 Jenkins Jira의이 주석을 참조하십시오 .
시도해보십시오 :
(
set -e
export BUILD_ID=dontKillMe
export JENKINS_NODE_COOKIE=dontKillMe
npm install
forever stop app.js
forever start -a -l /var/log/forever.log app.js &
) &