在 VS Team Services 构建中从 Powershell 运行 创建一个工作区
Create a workspace from Powershell run within VS Team Services build
我正在编写 Powershell 脚本作为 Visual Studio Team Services 构建的一部分,此构建使用托管构建控制器。该脚本旨在签出文件,进行更改,然后将其重新签入。
在脚本中,我试图调用 tf
命令来创建一个新的工作区,但我遇到了身份验证问题。命令
& $tf vc workspace /new $tempWorkspaceName /collection:https://mycollection.visualstudio.com/
产生错误:
TF30063: You are not authorized to access https://mycollection.visualstudio.com/.
如何在不在脚本中嵌入登录名或密码的情况下从我的 Powershell 脚本访问 TFS?我可以在本身登录到 TFS 的构建代理的上下文中访问 TFS 吗?或者还有其他方法吗?
请注意,我没有使用 TFS Power Tool cmdlet,因为它是托管构建服务器。使用 TFS RestAPI 似乎也不是一个选项,因为没有用于签入或签出文件的工具。
- 选中构建定义的允许脚本访问 OAuth 令牌选项
- 将 /noprompt /loginType:OAuth /login:.,$(System.AccessToken) 附加到您的 TF 命令(参数)
关于TF命令,可以查看this篇
我正在编写 Powershell 脚本作为 Visual Studio Team Services 构建的一部分,此构建使用托管构建控制器。该脚本旨在签出文件,进行更改,然后将其重新签入。
在脚本中,我试图调用 tf
命令来创建一个新的工作区,但我遇到了身份验证问题。命令
& $tf vc workspace /new $tempWorkspaceName /collection:https://mycollection.visualstudio.com/
产生错误:
TF30063: You are not authorized to access https://mycollection.visualstudio.com/.
如何在不在脚本中嵌入登录名或密码的情况下从我的 Powershell 脚本访问 TFS?我可以在本身登录到 TFS 的构建代理的上下文中访问 TFS 吗?或者还有其他方法吗?
请注意,我没有使用 TFS Power Tool cmdlet,因为它是托管构建服务器。使用 TFS RestAPI 似乎也不是一个选项,因为没有用于签入或签出文件的工具。
- 选中构建定义的允许脚本访问 OAuth 令牌选项
- 将 /noprompt /loginType:OAuth /login:.,$(System.AccessToken) 附加到您的 TF 命令(参数)
关于TF命令,可以查看this篇