我在Ubuntu 14.04(Trusty Tahr)上通过SSH运行带有从属节点的Jenkins。我们能够与节点通信以运行大多数命令,但是当命令需要tty输入时,我们得到经典
the input device is not a TTY
错误。在我们的例子中,它是docker exec -it
命令。
所以我正在搜索关于Jenkins的大量信息,试图找出如何配置与从节点的连接以启用-t
选项来强制tty实例,并且我将变空。我们如何实现这一目标?
答案 0 :(得分:1)
据我所知,你不能把-t
给詹金斯激活的ssh(这是有意义的,因为詹金斯天生就是分离的)。来自the documentation:
当SSH从属插件连接到从属时,它不会运行交互式shell。相反,它相当于你运行的“ssh slavehost命令...”几次......
但是,您可以通过...
在构建脚本中打败它ssh -t localhost command
script --return -c "command" /dev/null