我有一个发布管道,希望添加一个阶段,该阶段的任务会将版本号写入到TFVC中存储的文件中。
我一直在尝试使用调用tf.exe的Powershell任务来处理文件。我以为我会先尝试下载文件,然后再考虑将其重新签入。我似乎无法授权使用tf.exe下载文件。你能帮忙吗?
$workspaceName = "temp_123"
$login = "/login:.,$env:SYSTEM_ACCESSTOKEN"
& tf vc workspace /new /noprompt $workspaceName /collection:https://mycorp.visualstudio.com $login
Try
{
& tf vc workfold /unmap "$/" /workspace:$workspaceName $login
& tf vc workfold /map "$/SomePath" $dir /workspace:$workspaceName $login
& tf vc get $login
}
Finally
{
& tf vc workspace /delete $workspaceName /collection:https://mycorp.visualstudio.com $login
}
# Verify it appeared
if (-Not (Test-Path "$dir\Version.txt")) { throw "failed to download" }
我收到此错误:
TF30063: You are not authorized to access https://mycorp.visualstudio.com/
当您拥有系统访问令牌时,如何通过tf.exe进行身份验证?还是有更好的下载和签入文件的方法。
答案 0 :(得分:1)
要从tf.exe从Azure DevOps进行身份验证,您需要在命令中添加/loginType:OAuth
。
例如:
tf vc workspace /new /noprompt $workspaceName /collection:https://mycorp.visualstudio.com /loginType:OAuth /login:.,[OAuth token]
此外,TFVC Build Tasks extension中有一个“签入更改”任务,您可以使用它来签入更改而不会出现问题。