有没有办法跟踪TFS 2010中构建定义的更改?请在Visual Studio中转到“团队资源管理器> ProjectName>构建”以查看我在说什么。您需要访问TFS服务器以查看我所指的内容。现在,当您进入团队资源管理器> ProjectName> Builds时,您可以创建一个构建定义来编译TFS上的csproj或sln文件。我想知道的是,如果对现有的定义进行任何更改或添加新的定义,是否有办法对这些定义进行版本化?TFS 2010跟踪构建定义更改?
1
A
回答
1
无法跟踪对构建定义的更改。如果你有多个分支/版本需要构建,我建议创建一个不同的构建定义。
当您对构建进行排队时,可以设置一些属性,因此如果您想要一个不会将其输出复制到放置服务器的构建,您可以拥有该构建,但如果要部署某个版本可以在排队构建时设置放置文件夹。
在TFS Power Toys中,您会看到一个“克隆构建定义”上下文菜单,以便您可以更容易地复制构建,只要您有许多要保持相似的设置即可。
0
有一种方法。有了这个工具在vsgallery:
http://visualstudiogallery.msdn.microsoft.com/ec36f618-d122-48a3-8236-7d9cd19791ee
我tfs2012使用它。我不知道它是否适用于tfs2010
2
我遇到了同样的问题,当团队中有人修改了构建定义时,我试图找到所有可用的选项,但没有发现除Xeam Build Definition Extension
之外的任何其他内容,仅支持VS 2012以后并有一些缺点,所以最终得到即时的工作,我写了一个小应用程序,返回Last Modified By
和Last Modified Date
和完整的Build Definition
细节,你可以与以前的版本比较,以找到发生了什么变化。
进口Microsoft.TeamFoundation.Build.Client
Private Const RootFolder As String = "C:\TFS Utility Reports\"
''' <summary>
''' To Get the Build Definition Details
''' </summary>
''' <param name="teamProjectName"></param>
''' <param name="buildDefinitionName"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function GetBuildDefinitionDetails(teamProjectName As String, buildDefinitionName As String) As String
Dim buildDefinitionSummary As String = Nothing
Dim buildDefinitionDetails As String = Nothing
Dim reportPath As String = RootFolder & "Build Definitions\" & buildDefinitionName
Dim buildDefinitionDetailsFileName As String = reportPath & "\" & buildDefinitionName & "_" & Date.Now.ToString(CultureInfo.CurrentCulture).Replace("/", String.Empty).Replace(":", String.Empty) & ".txt"
Dim buildService = CType(TfsTeamProjectCollection.GetService(GetType(IBuildServer)), IBuildServer)
Dim buildDefinition As IBuildDefinition = buildService.GetBuildDefinition(teamProjectName, buildDefinitionName)
If buildDefinition IsNot Nothing Then
GetAllBuildDefinitions(teamProjectName)
buildDefinitionSummary = buildDefinition.ToString()
UpdateFile(buildDefinitionSummary, buildDefinitionDetailsFileName, reportPath)
If buildDefinition.Workspace IsNot Nothing Then
buildDefinitionDetails = String.Format(CultureInfo.CurrentCulture, "Last Modified By: {0}, Last Modified Date: {1}",
buildDefinition.Workspace.LastModifiedBy,
buildDefinition.Workspace.LastModifiedDate)
End If
End If
Return buildDefinitionDetails
End Function
''' <summary>
''' Generate Log/Summary/Report
''' </summary>
''' <param name="lineToWrite"></param>
''' <param name="filePath"></param>
''' <param name="folderPath"></param>
''' <remarks></remarks>
Private Shared Sub UpdateFile(ByVal lineToWrite As String, ByVal filePath As String, ByVal folderPath As String)
Dim strFileName As String = String.Empty
lineToWrite = lineToWrite.Trim()
strFileName = filePath
Dim di As IO.DirectoryInfo = New IO.DirectoryInfo(folderPath)
If Not di.Exists Then
di.Create()
End If
Dim streamWriter As New StreamWriter(strFileName, True, System.Text.Encoding.ASCII)
Try
Dim strOutput As String
strOutput = lineToWrite.ToString
streamWriter.WriteLine(strOutput)
Catch ex As Exception
Throw
Finally
streamWriter.Dispose()
End Try
End Sub
相关问题
- 1. TFS 2010在TFS 2010中构建定义
- 2. TFS构建脚本跟踪
- 3. 在TFS 2010中编辑构建定义
- 4. 如何复制TFS 2010构建定义?
- 5. 生成tfs 2010的构建定义
- 6. 自定义构建摘要TFS 2010
- 7. 导出TFS 2010构建定义
- 8. 更改跟踪结构
- 9. 构建自定义印象跟踪器
- 10. Jenkins跟踪构建的自定义值
- 11. 在TFS 2012中实现更改跟踪
- 12. Tfs构建定义
- 13. 使用TFS 2010运行TFS 2008构建定义
- 14. TFS 2010构建:Microsoft.TeamFoundation.Build.Workflow.Activities.SyncWorkspace
- 15. 跟踪更改
- 16. 跟踪更改
- 17. 跟踪更改
- 18. 跟踪更改
- 19. 创建TFS 2010构建定义需要帮助
- 20. TFS 2010 Build定义
- 21. 跟踪MySQL架构和程序更改
- 22. TFS构建定义问题
- 23. LINQ跟踪更改
- 24. 定制TFS 2010构建过程
- 25. TFS 2010定制构建步骤
- 26. 基于构建定义更改配置TFS 2012
- 27. TFS 2010构建时机
- 28. TFS 2010构建服务
- 29. 将构建定义更改合并到TFS 2013中的构建模板中
- 30. 定义和跟踪
戴夫您好,感谢您的回复。我确实安装了TFS Power工具。但是这并没有解决我追踪构建定义随时间变化的目的。 – Kalyan
你真的不能。如果你真的想,你可以定期将定义过程参数作为XML导出,或者类似的东西,但是根本没有任何内容。 – DaveShaw