2011-09-07 78 views
2

我們在Web項目(php)中使用TFS 2010和VS 2010。由於我們實際上並沒有使用.proj文件,所以我創建了自己的build(只有zip文件才能輸出dir)。我們也使用MSBuild社區任務。我對我的Web應用程序(PHP)msbuild.proj是這樣的:TFS 2010,BuildAgent和MSBuild for changelog.txt with changeset

<?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.txt爲所有時間所有開發商的意見辦理入住手續的文件在TFS中。 如果需要,我可以修改DefaultTemplate.xaml文件和/或構建定義。 BuildAgent作爲網絡服務啓動並將文件放置在丟棄文件夾/網絡共享上。

回答

1

如果您使用的是TFS Build,Build Summary報告將默認爲您提供該版本的相關變更集列表(這是自上次成功構建以來的變更集列表)。

如果您想要自開始以來所有變更集的列表,您將不得不做一些自定義。你有兩個選擇,創建一個自定義的MSBuild任務,或者創建一個自定義的Build Workflow Activity。在這種情況下,我推薦後者,因爲這是在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

在我看來,我們可以通過兩種方式來解決這個問題。首先是定製.proj文件,然後是Build方面。第二種方式將使用類似http://tfschangelog.codeplex.com應用程序。

TFS ChangeLog允許用戶通過提供項目,分支和變更集範圍信息自動從TFS生成發行說明。然後,它將有關每個變更集及其相關工作項的信息提取到XML文件中。

用戶可以從命令提示符(使用計劃任務自動生成發行說明)或使用GUI界面生成發行說明來使用此應用程序。

希望這會有所幫助。

最好的問候,

Dharmesh沙阿。