我正在尝试从 Jenkins 构建作业中生成一个网络服务器,尽管该作业成功,但我遇到了 Jenkins 在作业退出时自动终止后台作业的问题。
+ caddy -port 26748 &
Activating privacy features... done.
:26748
Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
Finished: SUCCESS
我阅读了关于从 build 生成进程的 Jenkins 文档,以及关于ProcessTreeKiller的文档,它告诉我应该能够通过守护进程并将BUILD_ID
环境变量设置为其他内容来实现这一点,所以我尝试了这个:
BUILD_ID=dontKillMe daemon --env="BUILD_ID=dontKillMe" --name="my-process" -- caddy -root `pwd` -port 26748
但是,尽管我不再收到Process leaked file descriptors
消息,但这似乎仍然会在退出时杀死进程。尽管我尝试直接在盒子上运行与 Jenkins 用户完全相同的命令,但效果很好。
有谁知道我做错了什么?工作退出后如何让这个过程继续下去?