截至 https://golang.org/cl/50750 ,构建协调器具有一个 ssh 服务器用于代理构建体。(这是 bug #19956 )但目前尚无 scp 支持。这是一个跟踪 bug 以找出解决方案。
lkaoscv71#
/cc @dmitshur
zc0qhyus2#
这是我正在考虑的一个问题。在尝试想象它将如何工作时,出现了以下问题。鉴于我们有 gomote put ,是否需要并会有所帮助?gomote put 不是已经实现了 scp 所能让你做的功能吗?或者我们是否知道特定的用例,这将使这个功能值得一试。关于 ssh 与 scp 的观察。Gomote 目前允许用户通过运行 gomote ssh <instance> "ssh进入"一个buildlet,但它是通过创建一个ssh shell并让用户使用它来工作的。普通的 ssh 客户端不直接受支持。我认为同样的解决方案对 scp 不起作用,因为我们不想重新实现 scp 客户端所支持的所有复杂语法。
gomote put
scp
ssh
gomote ssh <instance>
vawmfj5a3#
gomote put 和 gomote gettar 繁琐且无法与现有工具(如 rsync)一起使用。正常的 ssh 客户端不直接支持。如果你手动运行它,它是可以的。gomote ssh 会输出你可以在自己电脑上运行的命令。我认为修复这个 bug 所需的全部内容是在我们 ssh 服务器中响应“sftp”通道打开请求,并向后端打开一个新的“sftp”通道,然后用 io.Copy goroutines 将它们拼接在一起。
gomote gettar
rsync
gomote ssh
3条答案
按热度按时间lkaoscv71#
/cc @dmitshur
zc0qhyus2#
这是我正在考虑的一个问题。在尝试想象它将如何工作时,出现了以下问题。
鉴于我们有
gomote put
,是否需要并会有所帮助?gomote put
不是已经实现了scp
所能让你做的功能吗?或者我们是否知道特定的用例,这将使这个功能值得一试。关于
ssh
与scp
的观察。Gomote 目前允许用户通过运行gomote ssh <instance>
"ssh进入"一个buildlet,但它是通过创建一个ssh shell并让用户使用它来工作的。普通的ssh
客户端不直接受支持。我认为同样的解决方案对scp
不起作用,因为我们不想重新实现scp
客户端所支持的所有复杂语法。vawmfj5a3#
gomote put
和gomote gettar
繁琐且无法与现有工具(如rsync
)一起使用。正常的 ssh 客户端不直接支持。
如果你手动运行它,它是可以的。
gomote ssh
会输出你可以在自己电脑上运行的命令。我认为修复这个 bug 所需的全部内容是在我们 ssh 服务器中响应“sftp”通道打开请求,并向后端打开一个新的“sftp”通道,然后用 io.Copy goroutines 将它们拼接在一起。