将代码推送回 Azure Devops 上的 TFVC 存储库
Posted
技术标签:
【中文标题】将代码推送回 Azure Devops 上的 TFVC 存储库【英文标题】:push code back to TFVC repository on Azure Devops 【发布时间】:2022-01-04 07:52:42 【问题描述】:我正在尝试通过 Azure Devops 管道将代码推送回 TFVC,但我无法使其正常工作。我正在使用powershell
任务和tf
命令通过管道上发生的处理自动提交更改。此处理的输出应推送回工作的 TFVC 存储库。
首先,我在源文件夹的 Pipeline.Workspace 上创建一个示例文件。
命令行步骤。
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
变量时,我得到
默认凭据不可用,因为没有 Kerberos 票证或 其他身份验证令牌可用。
我的目标是将更改推送回工作存储库,这是此管道的代码源。我还需要绕过 Oath 身份验证。我已经选择了允许脚本访问代理作业上的 OAuth 令牌。
【问题讨论】:
【参考方案1】:你有tried my TFVC extensions吗?它们正是为此目的而制造的。
或者,您可以尝试使用管道的 OAuth 令牌签入:
& tf vc checkin .*.txt /comment "added new files" /recursive /force
/loginType:OAuth /login:.,$env:SYSTEM_ACCESSTOKEN
确保配置管道以便它可以访问令牌:
如果需要,将访问令牌添加到 PowerShell 任务的环境变量部分:
【讨论】:
以上是关于将代码推送回 Azure Devops 上的 TFVC 存储库的主要内容,如果未能解决你的问题,请参考以下文章
作为 Azure DevOps 中发布管道的一部分,将更改推送到 GitHub 存储库
推送到 Testflight 时适用于 iOS 的 Azure DevOps 超时
Azure Visual Studio 2019 无法推送到 Azure DevOps Git