【发布时间】:2013-05-16 02:18:08
【问题描述】:
我在 jenkins 上有一个构建作业,它正在构建我的项目,完成后,它会在远程服务器上打开一个 ssh shell 脚本并传输文件,然后停止并启动一个守护进程。
当我从 RHEL 服务器上的命令行停止和启动守护程序时,它执行得很好。当作业在jenkins中执行时,没有错误。
守护进程正常停止并正常启动。但在启动后不久,守护进程突然死亡。
sudo service daemonName stop
# transfer files.
sudo service daemonName start
我确定问题不在于路径
有谁知道 Jenkins 执行 ssh shell 脚本的方式有什么特别之处,会导致守护程序启动不完全完成?
【问题讨论】:
-
你检查过日志吗?你在那里读到了什么错误?
-
詹金斯日志?或控制台日志?还是守护进程的日志?控制台日志显示一切都成功了。守护进程的日志没有显示任何问题 jenkins 日志我怀疑会有帮助。
-
也许守护进程没有被正确地守护,你有没有试过在 Jenkins 的 shell 脚本中添加一个
sleep 10000以查看在调用 shell 没有关闭时它是否运行更长时间?您是否尝试过比较 Jenkins 和 shell 中的env输出?如果它是一个本地守护进程,它可能会受到语言环境等因素的影响。