我需要定期从VSTS帐户(服务器工作区)下载特定项目的一整套最新代码,到文件服务器上的文件夹进行只读归档。
目前,我登录到门户网站,然后单击所选项目的下载为ZIP ,并将其保存到文件服务器。
但我想要一种更自动化的方式,最好是我可以安排从文件服务器本身运行,而不会安装Visual Studio或在线帐户的缓存凭据。
以下任何一种解决方案都可以:
很高兴:
答案 0 :(得分:3)
您可以在Visual Studio,Eclipse或命令行中使用我们的工具,以在您的计算机上保留源代码的本地副本。
更多详情请参阅官方教程:Download (get) files from the Server
另外,如果您想以zip格式下载代码:
您可以单击任何省略号以查找包含Download as Zip
选项的菜单。
如果您想要自动化方式,建议您使用构建管道。您可以在构建定义中禁用默认的获取源步骤。并使用您自己的PowerShell脚本来获取源/拉文件到工作区。如何,请关注:Is it able to ignore/disable the first step Get source in vNext Build?
这将在您的构建代理中下载文件,如果它不是您正在使用的计算机。您可以合并Archive Files& Windows Machine File Copy任务,然后在构建定义中选择预定触发器。
答案 1 :(得分:0)
您可以考虑使用代理+构建定义来下载源代码(这可能基于计划发生,也可能在每次签入后触发)。这可以很容易地包括压缩到ZIP文件和一些复制命令。
另一个好处是,构建定义不必在每次运行时重新下载整个源代码存储库 - 相反,它可以配置为只下载获取发生的更改。
答案 2 :(得分:0)
$tfsurl = "https://tfs.alogent.com/tfs"
$collection ="/defaultcollection"
$project = "/MyProject"
$api = "/_api/_versioncontrol/itemContentZipped?repositoryId=&path="
$path = "$/MyProject/Source/Datafolder"
Invoke-WebRequest -UseDefaultCredentials -Uri "$tfsurl$collection$project$api$path" -OutFile ".\DataFolder.zip"
Expand-Archive .\Datafolder.zip