TFS 2010、BuildAgent 和 MSBuild 用于带有变更集的changelog.txt
我们将 TFS 2010 与 VS 2010 一起用于我们的 Web 项目 (php)。由于我们实际上并不使用 .proj 文件,因此我创建了自己的文件来进行构建(仅使用 zip 文件来输出目录)。我们还使用 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>
我的问题是如何编写目标“Changelog”,它将创建带有所有开发人员评论的 Changelog.txt,用于 TFS 中的所有时间签入文件。 如果需要,我可以修改 DefaultTemplate.xaml 文件和/或构建定义。 BuildAgent 作为网络服务启动,并将文件放置在放置文件夹/网络共享上。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用 TFS Build,构建摘要报告将默认为您提供该构建的关联变更集列表(这是自上次成功构建以来的变更集列表)。
如果您想要自开始以来的所有变更集的列表,您将必须进行一些自定义。您有两个选择,创建自定义 MSBuild 任务,或创建自定义构建工作流活动。在这种情况下,我建议使用后者,因为这是 TFS 2010 中执行操作的新方法。
这两种方法实际上都非常简单。要创建自定义工作流活动,请参阅此博客文章以帮助您入门:http://blogs.msdn.com/b/jimlamba/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
If you're using TFS Build the Build Summary report will by default give you a list of associated changesets for that build (this is the list of changesets since the last successful build).
If you want a list of all changesets since the beginning of time you're going to have to do some customization. You have two options, creating a custom MSBuild task, or creating a custom Build Workflow Activity. I'd recommend the latter in this case as that is the new way of doing things in TFS 2010.
Either approach is actually pretty straightforward. To create a custom workflow activity see this blog post to get you started: http://blogs.msdn.com/b/jimlamb/archive/2009/11/18/how-to-create-a-custom-workflow-activity-for-tfs-build-2010.aspx alternatively if you choose to go the MSBuild route here's a post to show you how to create a custom task: http://blogs.msdn.com/b/msbuild/archive/2006/01/21/515834.aspx and here's the reference for the TFS API method you'll probably want to call to get a list of changesets: http://msdn.microsoft.com/en-us/library/bb138960.aspx
我认为,我们可以通过两种方式来解决这个问题。第一个是自定义 .proj 文件以及构建方面。第二种方法是使用 http://tfschangelog.codeplex.com 应用程序。
TFS ChangeLog 允许用户通过提供项目、分支和变更集范围信息来自动从 TFS 生成发行说明。然后,它将给定变更集范围内的每个变更集及其关联工作项的信息提取到 XML 文件中。
用户可以从命令提示符(使用计划任务自动生成发行说明)或使用 GUI 界面生成发行说明来使用此应用程序。
希望这有帮助。
最好的问候,
达米什·沙阿。
In my opinion, there are two ways in which we can approach to resolve this issue. First one will be to customize .proj file and so the Build aspect. Second way will be use something like http://tfschangelog.codeplex.com application.
TFS ChangeLog allows users to automatically generate release notes from TFS by providing project, branch and changeset range information. It then extracts information about each changeset and their associated workitems within the given range of changesets into XML file.
Users can use this application either from command prompt (automate generating release notes using scheduled task) or use GUI interface to generate release notes.
Hope this helps.
Best Regards,
Dharmesh Shah.