Аз се опитвам да създам нова задача за VSTS, която трябва да изтегли a защитен файл от библиотеката. Въпреки това, когато стартирам следния скрипт на PowerShell, не се показват защитени файлове, но има две. Може ли това да няма достатъчно права? Какво трябва да се промени.
Друг въпрос: когато съм в състояние да изброя сигурни файлове, които искам да изтегля конкретен. Не съм намерил никакви примери за това. Някой знае ли за пример?
$url = "$($env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)$env:SYSTEM_TEAMPROJECTID/_apis/distributedtask/securefiles"
Write-Host "URL: $url"
$secureFiles = Invoke-RestMethod -Uri $url -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
Write-Host "SecureFiles: $secureFiles"
Отговори:
2 за отговор № 1Няма такъв REST API за изтегляне на сигурен файл, но можете да го използвате Изтеглете задача за защитен файл за сътрудници.
И тъй като сигурният файл съществува само временноместоположението по време на изграждането, първо трябва да изтеглите защитения файл чрез Download security file task и първо да копирате защитения файл в друга директория:
1. Изтеглете защитен файл
Можете да добавите a Изтеглете задача за защитен файл (за VSTS) и посочете filename
за изтегляне.
Забележка: тъй като задачата не е достъпна за TFS, можете да инсталирате подобна задача като Изтеглете Secure File разширение за вашия TFS акаунт.
2. Копирайте защитен файл в друга директория
Например копиране на защитения файл $(Build.ArtifactStagingDirectory)
, можете да използвате скрипта PowerShell:
Copy-Item -Path $(Agent.WorkFolder)_tempfilename -Destination $(Build.ArtifactStagingDirectory)
Или използвайте задачата Copy Files, за да копирате защитения файл $(Build.ArtifactStagingDirectory)
.
BTW:
- Тъй като използвате Download Secure File задача (разработена от Matt Labrum), която може само да избере защитен файл от DropDownList (променливите не могат да се използват). Но има проблем Активирайте да използвате променлива, за да укажете защитения файл за изтегляне което предполага тази функция, можете да продължите.
- А за да може REST API да изтегли защитен файл, той не е достъпен за момента. Но има глас на потребителя Достъп до "Защитени файлове" от .NET клиентска библиотека, и можете да гласувате и да продължите.