我们将TFS 2010与VS 2010一起用于我们的Web项目(php)。因为我们没有实际使用.proj文件,所以我创建了自己的构建版本(只有zip文件才能输出dir)。我们还使用MSBuild社区任务。我的web应用程序(php)的msbuild.proj是这样的:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<Target Name="Changelog">
<!-- need to create changelog.txt (all checkin files comments) -->
</Target>
<Target Name="Zip" DependsOnTargets="Changelog">
<ItemGroup>
<ZipFiles Include="**\*.*"/>
</ItemGroup>
<Zip Files="@(ZipFiles)" ZipFileName="$(OutDir)_myzip.zip" />
</Target>
<Target Name="Default" DependsOnTargets="Zip">
<Message Text="My Build Complete" />
</Target>
</Project>
我的问题是如何编写Target&#34; Changelog&#34;这将创建changelog.txt,包含TFS中所有签到文件的开发人员评论。 如果是necesery我可以修改DefaultTemplate.xaml文件和/或构建定义。 BuildAgent作为NETWORK SERVICE启动,并将文件放在drop folder / network share。
答案 0 :(得分:1)
如果您正在使用TFS构建,则构建摘要报告将默认为您提供该构建的关联变更集列表(这是自上次成功构建以来的变更集列表)。
如果您想要从一开始就需要进行一些自定义的所有变更集的列表。您有两个选项,创建自定义MSBuild任务或创建自定义构建工作流活动。在这种情况下,我建议使用后者,因为这是TFS 2010中的新方法。
这两种方法实际上都非常简单。要创建自定义工作流程活动,请参阅此博客文章以开始使用:http://blogs.msdn.com/b/jimlamb/archive/2009/11/18/how-to-create-a-custom-workflow-activity-for-tfs-build-2010.aspx或者如果您选择转到MSBuild路线,这里有一篇帖子向您展示如何创建自定义任务:http://blogs.msdn.com/b/msbuild/archive/2006/01/21/515834.aspx这里是您可能希望调用以获取更改集列表的TFS API方法的参考:http://msdn.microsoft.com/en-us/library/bb138960.aspx
答案 1 :(得分:1)
在我看来,有两种方法可以解决这个问题。首先是自定义.proj文件以及Build方面。第二种方式将使用http://tfschangelog.codeplex.com application。
之类的东西TFS ChangeLog允许用户通过提供项目,分支和变更集范围信息从TFS自动生成发行说明。然后,它将有关给定变更集范围内的每个变更集及其关联工作项的信息提取到XML文件中。
用户可以从命令提示符(使用计划任务自动生成发行说明)或使用GUI界面生成发行说明来使用此应用程序。
希望这有帮助。
最诚挚的问候,
Dharmesh Shah。