如何在 TFS 2017 中从多个源克隆代码?

How to clone code from multiple sources in TFS 2017?

我的代码在 TFS 存储库中,但由于某些原因,Sharepoint/MS 团队中的文件很少,我们如何从构建定义中的两个源代码克隆代码。

Get Sources 任务是克隆指定 TFS 存储库的默认任务,有没有办法添加或编辑此任务以同时从 Sharepoint 克隆代码。

您无法编辑“获取源代码”任务以从共享点克隆代码。

但是,您可以使用 powershell task 从共享点下载文件。

例如,将管道中的 powershell 任务添加到 运行 下面的内联脚本:

使用 WebClient

$SharePointFile = "https://the.server/path/to/the/file.txt"
$Path = "$(Build.SourcesDirectory)\file.txt"

#User Information
$Username = "userName"
$Password = "password"

#Download Files
$client = New-Object System.Net.WebClient
$client.Credentials = New-Object System.Net.Networkcredential($UserName, $Password)
$client.DownloadFile($SharePoint, $Path)
$client.Dispose()

使用 Invoke-WebRequest

$User = "userName"
$PWord = ConvertTo-SecureString -String "password" -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord

$url = 'https://the.server/path/to/the/file.txt'
$outfile = "$(Build.SourcesDirectory)\file.txt"
Invoke-WebRequest -Uri $url -OutFile $outfile -Credential $Credential 

以上脚本会将文件从您的 Sharepoint 服务器下载到代理计算机上的源代码文件夹 $(Build.SourcesDirectory)(即 c:\agent_work\s

您也可以在此博客中使用 SharePoint Pnp PowerShell Framework to download the files in powershell task. See example