将代码推回 Azure Devops 上的 TFVC 存储库

push code back to TFVC repository on Azure Devops

我正在尝试通过 Azure Devops 管道将代码推回到 TFVC,但我无法使其工作。我正在使用 powershell 任务和 tf 命令通过管道上发生的处理自动提交更改。此处理的输出应推回工作 TFVC 存储库。

首先,我在 Pipeline.Workspace on sources 文件夹中创建了一个示例文件。

命令行步骤。

echo "content 1 2 3" >  $(Pipeline.Workspace)/s/file_created_by_pipeline.txt
ls $(Pipeline.Workspace)/s

然后我尝试将更改提交回存储库。

Powershell 任务:

cd $(Pipeline.Workspace)/s
tf add .*.txt /resursive; 
tf checkin .*.txt /comment "added new files" /recursive  /force

问题:

No changes were matched by any arguments

在管道 运行 期间,我还必须提供基于 OAuth 2.0 设备流身份验证的代码

此外,当我在管道上设置 TF_BYPASS_BROWSER_LOGIN=true 变量时,我得到

Default credentials are unavailable because no Kerberos ticket or other authentication token is available.

我的目标是将更改推回工作存储库,该存储库是此管道的代码源。我还需要绕过 Oath 身份验证。我已经选择了允许脚本访问代理作业上的 OAuth 令牌。

你有tried my TFVC extensions吗?它们正是为此目的而制作的。

或者,您可以尝试使用管道的 OAuth 令牌签入:

& tf vc checkin .*.txt /comment "added new files" /recursive /force
   /loginType:OAuth /login:.,$env:SYSTEM_ACCESSTOKEN

确保配置管道以便它可以访问令牌:

如果需要,将访问令牌添加到 PowerShell 任务的环境变量部分: