2017-07-24 75 views
1

我需要签入TFS 2017 vNext构建过程中生成的一些文件。 在我旧的XAML版本中,我可以很容易地使用tf checkin命令来做到这一点,因为这些文件驻留在构建工作区中。TFS vNext构建中的签入文件

在新vNext建设,工作区所有者是项目生成服务项目集合构建服务,甚至当我代理配置为在其他帐户下运行。 任何方式在构建工作区上执行签入?或者以某种方式配置谁拥有该工作区?

+1

这应该不是问题。我正在使用PowerShell脚本来执行我的签入,并且tf.exe工作得很好。但是,您可能会检查工作区 - 现在是“\ src”,之前它是“\ source”。 –

+0

检入生成的文件不是一个好习惯。它们应该是后代的构建输出的一部分,但在源代码控制中没有位置。 –

回答

0

在构建管道过程中,不建议检入/修改源代码。如果你真的想这样做,你可以编辑构建worspace文件,并在自定义/ 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) 

另一种方式是安装TFS Power Tool,并使用Windows PowerShell命令在检查文件。请参阅此链接了解更多详情:PowerShell and TFS: The Basics and Beyond

+0

这正是我正在做的。但是工作空间由“代理人帐户”不同的“项目构建服务”所有。我收到的错误表示没有待处理的更改。 – shayc

+0

@shayc它与您的代理账户无关。您需要检测所有编辑并删除您对$(Build.SourcesDirectory)所做的修改。如果没有,则不应该有任何未决更改。要完成检入,您需要两个步骤:首先添加ItemToTfs,然后提交TfsChange。 你可以看看本教程 - [如何使用PowerShell将代码提交到TFS](http://www.tomsitpro.com/articles/how-to-commit-code-tfs-powershell,2-990。 HTML),其中包括工作流程。 –

1

有添加和检入更改任务TFVC Build Tasks extension

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

相关问题