VSTS: публикация артефактов сборки в удаленном хранилище TFVC
Можно ли публиковать выходные данные из конвейера сборки (артефакты) в сервисе команды Visual Studio в хранилище? Наше хранилище размещено в VSTS, и мы используем TFVC (управление версиями Team Foundation для хранения нашего кода).
Я использовал задачи копирования и публикации из коробки, но это не сработало.
Очень ценю ваш ответ!
1 ответ
Как сказал Дэниел, это считается плохой практикой, но если вы все еще хотите это сделать, вы можете сделать это с помощью сценария PowerShell:
Param(
[string]$tfvcRepoPath
)
$artifactsFolderPath = "$($env:Agent_BuildDirectory)\newCode"
$tempWorkspacePath = "$($env:Agent_BuildDirectory)\tempWorkspace"
New-Item -Path $artifactsFolderPath-ItemType directory
Copy-Item -Path "$($env:Build_ArtifactStagingDirectory)/*" -Recurse -Destination $artifactsFolderPath
New-Item -Path $tempWorkspacePath -ItemType directory
cd $tempWorkspacePath
$tfExe = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe"
& $tfExe workspace /collection:{TfsCollection} /new "TempWorkspace" /noprompt
& $tfExe workfold "$($tfvcRepoPath)" $tempWorkspacePath
Copy-Item -Path "$($artifactsFolderPath)/*" -Recurse -Destination $tempWorkspacePath
& $tfExe add * /recursive /noignore
& $tfExe checkin /recursive /comment:"artficats after build"
& $tfExe workspace /delete /collection:{TfsCollection} "Tempworkspace"
cd c:/
Remove-Item -Path $newCodeFolderPath -Force -Recurse
Remove-Item -Path $tempWorkspacePath -Force -Recurse
Изменить $tfExe = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe"
относительно вашей установленной версии Visual Studio (я использовал путь для VS 2017 Professional Edition).