https://golang.org/cl/50750の時点で、ビルドコーディネーターには、ビルドレットにプロキシするsshサーバーがあります。 (それはバグ#19956でした)
しかし、scpのサポートはまだありません。
これはそれを理解するための追跡バグです。
/ cc @dmitshur
これは私が見ている問題の1つです。 それがどのように機能するかを想像しようとすると、次の質問が出てきました。
gomote put
とすると、scpサポートが必要で役に立ちますか? gomote put
は、 scp
できることをすでに実行していませんか? または、これを価値のあるものにすることがわかっている特定のユースケースはありますか。
ssh
とscp
に関する1つの観察結果。 Gomoteは現在、ユーザーがgomote ssh <instance>
実行してビルドレットに「sshイン」できるようにしていますが、sshシェルを作成してユーザーに使用させることで機能します。 通常のssh
クライアントは直接サポートされていません。 scp
クライアントがサポートするすべての複雑な構文を再実装したくないので、同じソリューションがscp
で機能するとは思いません。
gomote put
とgomote gettar
は面倒で、 rsync
ような既存のツールでは機能しません。
通常のsshクライアントは直接サポートされていません。
手で動かせばです。 gomote ssh
は、自分で実行できるコマンドをエコーアウトします。
このバグを修正するために必要なのは(私が思うに)、sshサーバーで「sftp」チャネルを開く要求に応答し、バックエンドへの新しい「sftp」チャネルを開いて、コピーio.Copygoroutinesでそれらをつなぎ合わせるだけです。
最も参考になるコメント
gomote put
とgomote gettar
は面倒で、rsync
ような既存のツールでは機能しません。手で動かせばです。
gomote ssh
は、自分で実行できるコマンドをエコーアウトします。このバグを修正するために必要なのは(私が思うに)、sshサーバーで「sftp」チャネルを開く要求に応答し、バックエンドへの新しい「sftp」チャネルを開いて、コピーio.Copygoroutinesでそれらをつなぎ合わせるだけです。