是否可以使用服务主体访问azure上的TFVC存储库?

问题描述 投票:0回答:1

我在组织内的 Microsoft Azure 存储库上托管了一个 TFVC 存储库。

我希望能够通过自托管管道代理上的批处理脚本自动运行 TF.exe 命令。

是否可以使用服务主体来运行这些命令? 尝试这些命令时,PAT 不起作用,因为当我们尝试运行命令时,它会在浏览器中打开登录屏幕。

azure azure-devops tfvc azure-service-principal
1个回答
0
投票

您不需要使用服务主体在自托管管道代理上运行

tf
命令。您可以使用 System.AccessToken,它是一个特殊变量,带有正在运行的构建所使用的安全令牌。

步骤如下:

  1. 使用 TFVC 源创建一个新管道。 (您应该在“项目设置”>“管道”>“设置”中关闭“禁用创建经典构建管道”选项)

  2. 导航到作业,在其他选项下,选中
  3. 允许脚本访问 OAuth 令牌

    框。 Allow scripts to access the OAuth token

  4. 在 PowerShell 任务中,使用
  5. tf

    命令运行脚本。

    示例脚本:

    tf history * /noprompt /recursive /stopafter:5 /loginType:OAuth /login:.,$env:SYSTEM_ACCESSTOKEN

    结果:
    

    result

© www.soinside.com 2019 - 2024. All rights reserved.