Jenkins 构建完后将代码通过 Publish Vver SSH 插件推送到业务机器,在执行脚本时,脚本中的 nohup 命令无法正常退出,构建前台任务就卡住了,
我的脚本是
nphup python manage.py runserver 0.0.0.0:8000 &
最后会直接timeout。
方法:执行之前要设置为pty环境,不然jenkins无法从非pty环境的脚本中退出
然后脚本需要变更,不然执行的话jenkins就会从会话中退出。我们将其作为一个脚本admin.sh(名字乱起)放在服务器上
#!/bin/bash python3 manage.py runserver 0.0.0.0:8000
然后jenkins配置修改,不使用nohup直接启动,而是用nohup启动脚本,问题得到解决