一种方法是您可以添加命令行任务来构建定义以调用curl 命令通过SSH 获取文件。如果您使用的是本地构建代理,您可以参考this 线程在 windows 中安装 curl。
另一种方式(如果你熟悉typescript的话),基于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:password@example.com:/home/admin/file.txt', './', function(err) {
})
因此,您可以参考这些代码来构建自定义构建任务,以通过 SSH/SCP 从远程主机下载文件。
关于向 VSTS 添加构建任务的文章:https://www.visualstudio.com/en-us/docs/integrate/extensions/develop/add-build-task 和 http://blog.devmatter.com/custom-build-tasks-in-vso/