签入TFS vNext生成中的文件

签入TFS vNext生成中的文件,tfs,tfsbuild,azure-pipelines,Tfs,Tfsbuild,Azure Pipelines,我需要签入在TFS 2017 vNext构建期间生成的一些文件。 在我以前的XAML构建中,我可以使用tf checkin命令轻松地完成这项工作,因为文件位于构建工作区中 在新的vNext构建中,工作区所有者是项目构建服务或项目集合构建服务,即使我将代理配置为在不同的帐户下运行。 有没有办法在构建工作区上执行签入?或者以某种方式配置谁拥有该工作区?在构建管道期间签入/修改源代码不是推荐的方法。如果确实要执行此操作,可以编辑build worspace文件并在custom/powershell任务

我需要签入在TFS 2017 vNext构建期间生成的一些文件。 在我以前的XAML构建中,我可以使用tf checkin命令轻松地完成这项工作,因为文件位于构建工作区中

在新的vNext构建中,工作区所有者是项目构建服务或项目集合构建服务,即使我将代理配置为在不同的帐户下运行。
有没有办法在构建工作区上执行签入?或者以某种方式配置谁拥有该工作区?

在构建管道期间签入/修改源代码不是推荐的方法。如果确实要执行此操作,可以编辑build worspace文件并在custom/powershell任务eq中使用tf命令

cd $env:BUILD_SOURCESDIRECTORY

$TFFile = Get-Item "C:\Program Files (x86)\Microsoft Visual Studio 1x.0\Common7\IDE\TF.exe"

$tfOutput = [string]( & $TFFile.FullName checkin /noprompt /override:"***NO_CI*** New version is $newVersion." /comment:"***NO_CI*** New version is $newVersion." 2>&1)

另一种方法是安装并使用Windows PowerShell cmdlet签入文件。有关更多详细信息,请参阅此链接:

中有添加和签入更改任务


关于没有挂起的更改,您需要通过调用TF add命令将文件添加到工作区的挂起更改列表中。

这应该不是问题。我正在使用PowerShell脚本执行签入,tf.exe工作正常。不过,您可能会检查工作区-它现在是“\src”,之前是“\source”。签入生成的文件不是一个好做法。它们应该是您为后代构建输出的一部分,但在源代码管理中没有一席之地。这正是我正在做的。但工作区归“项目构建服务”所有,这与代理帐户不同。我收到的错误表明没有挂起的更改。@shayc它与您的代理帐户无关。您需要检测对$(Build.SourcesDirectory)所做的所有编辑和删除。如果没有,就不应该有任何挂起的更改。要完成签入,需要两个步骤:首先添加ItemToTfs,然后提交tfschange。您可以看看本教程,其中包括工作流。