我在ubuntu  14.04(可信赖的tahr)上运行jenkins,并通过ssh使用从属节点。我们能够与节点进行通信以运行大多数命令,但是当命令需要tty输入时,我们将获得经典
the input device is not a TTY
错误。在我们的情况下,这是docker exec -it
命令。
因此,我正在搜索有关Jenkins的大量信息,试图弄清楚如何配置与从属节点的连接以启用-t
选项以强制TTY实例,而我将空白。我们如何实现这一目标?
据我所知,您不能将 -t
给詹金斯发射的SSH(这是有道理的,因为詹金斯固有地脱离了)。从文档中:
当SSH奴隶插件连接到从属时,它不会运行交互式外壳。取而代
但是,您可以通过...
在构建脚本中打败它- 循环回到自己:
ssh -t localhost command
- 使用本地PTY发电机:
script --return -c "command" /dev/null