Jenkins 屏幕会话将在管道完成后终止

Jenkins screen session will killed after pipeline finish

我目前正在处理一个部署过程,该过程在最后一个阶段之前都运行良好。 我在我的 debian 10 机器上安装了 Jenkins。我有一个 git 项目,里面有一个 Jenkinsfile。 所有阶段都工作正常。

我现在的问题是,我想使用 screen 命令启动与 Jenkins 的会话,会话现在已创建(分离),之后管道将完成,会话不再存在。

要创建会话,我使用以下命令:

screen -S server ./start.sh

-> 那会告诉我:必须连接到终端。

然后我尝试了这个命令:

screen -dm -S server ./start.sh

-> 这里将创建会话,然后在 Jenkins 完成管道后将其删除

我发现以下解决方案对我来说效果很好:

sh 'JENKINS_NODE_COOKIE=dontKillMe ./start.sh'

这将 运行 我的 bash 脚本与 screen 命令