2016-09-13 9 views
0

チームサービスでビルドステップ「SSHでファイルをコピーする」を使用すると、SSHエンドポイントを定義してファイルをそのホストにコピーすることができます。チームサービスビルドステップでSSH/SCP経由でリモートホストからファイルを取得する方法

https://www.visualstudio.com/en-us/docs/build/steps/deploy/copy-files-over-ssh

今、私はチームサービスで同じSSHエンドポイントを使用してファイルを取得したいです。 どうすればいいですか?

+0

問題。 解決策(それほどうれしいわけではありません): pscp.exeがレポに追加されました。 VSTSはビルドステップ「コマンドライン」を使用して、VSTSホストからの両方でscp操作を実行できます。 – Mats

答えて

0

コマンドラインタスクを追加して定義をビルドして、curlコマンドを呼び出してSSHでファイルを取得できるということもあります。オンプレミスのビルド・エージェントを使用している場合は、thisスレッドを参照してウィンドウにカールをインストールできます。

copyfilesoversshのsource codeに基づいて、SSHの必要な情報(ユーザー名、パスワードなど)を取得し、その情報に基づいてSSHサーバーに接続し、ファイルをアップロードする別の方法(タイプスクリプトに慣れている場合)。

var sshEndpoint = tl.getInput('sshEndpoint', true); 
    var username:string = tl.getEndpointAuthorizationParameter(sshEndpoint, 'username', false); 
    var password:string = tl.getEndpointAuthorizationParameter(sshEndpoint, 'password', true); //passphrase is optional 
    var privateKey:string = tl.getEndpointDataParameter(sshEndpoint, 'privateKey', true); //private key is optional, password can be used for connecting 
    var hostname:string = tl.getEndpointDataParameter(sshEndpoint, 'host', false); 
    var port:string = tl.getEndpointDataParameter(sshEndpoint, 'port', true); 

また、this記事のサンプルに基づいて、サーバーからファイルをダウンロードできます。

client.scp('admin:[email protected]:/home/admin/file.txt', './', function(err) { 
}) 

したがって、これらのコードを参照して、SSH/SCP経由でリモートホストからファイルをダウンロードするカスタムビルドタスクを構築することができます。 VSTSにビルドタスクを追加する程度

記事:解決https://www.visualstudio.com/en-us/docs/integrate/extensions/develop/add-build-taskhttp://blog.devmatter.com/custom-build-tasks-in-vso/

関連する問題