使用 Jenkins 运行 Python 脚本

使用 Jenkins 运行 Python 脚本

我有一个 .sh 文件,它使用 python3 生成一个简单的 http 服务器。我需要使用 Jenkins 成功运行此文件。作业“绿色”了,但我尝试使用 python http 服务器提供的目录不可用,浏览器显示“请求失败”。ps -a也没有显示任何 python 进程。

当我直接在控制台上运行 python 命令时,服务器启动并ps -a显示 python 进程的 pid。我遗漏了什么?

答案1

听起来你遇到了 Jenkins 进程树杀手。基本上,当构建完成时,Jenkins 会终止由该构建启动的所有进程,即使这些进程已移至后台。

要阻止进程被终止,请将环境变量设置BUILD_ID为不包含字符串的任何内容JENKINS,例如:

BUILD_ID=dontKillMe

如果您使用 Pipelines 而不是 Freestyle 作业,官方文档会说更改的值JENKINS_NODE_COOKIE,但我使用 Pipelines,仅通过更改并没有遇到任何问题BUILD_ID

更多信息官方文档以及StackOverflow 上的相同问题

相关内容