在TFS构建服务器上构建后自动发布

时间:2016-01-31 21:57:48

标签: tfs tfsbuild tfs2013

我使用以下代码示例来访问已标记为已释放的构建。我希望能够将实际安装文件的副本自动复制到我的Web服务器以供下载。我还需要在我的CRM中更新版本号等信息。

    Dim tfsUri As Uri
    tfsUri = New Uri("http://tfsServer:8080/tfs")
    Dim TeamProj As New TfsTeamProjectCollection(New Uri("http://tfsServer:8080/tfs/Software"))
    Dim buildServer As IBuildServer = DirectCast(TeamProj.GetService(GetType(IBuildServer)), IBuildServer)
    Dim oBuilds As IBuildQueryResult
    Dim oBuildDefSpec As IBuildDetailSpec
    oBuildDefSpec = buildServer.CreateBuildDetailSpec("Main Project")
    oBuildDefSpec.MinChangedTime = DateAdd(DateInterval.Day, -20, Now)
    oBuildDefSpec.Quality = "Released"
    oBuilds = buildServer.QueryBuilds(oBuildDefSpec)

    For Each oBuild As IBuildDetail In oBuilds.Builds
        Console.WriteLine(oBuild.DropLocation)
    Next

oBuild.DropLocation返回以下内容 " \ DropServer \ Builds \ SoftwareName v2.03.03 \ SoftwareName QA v2.03.03_V2.03.03.6"

安装程序的实际位置如下所示 " \ DropServer \ Builds \ SoftwareName v2.03.03 \ SoftwareName QA v2.03.03_V2.03.03.6 \ TFSProjectName \ Install \ DiskImages \ DISK1 \ Software Setup Name.exe"

假设Install \ DiskImages \ Disk1"总是不变的,我希望能够获得TFSProjectName和实际的软件设置Name.exe"来自TFS的文字。

有没有办法,一旦我以编程方式访问构建定义,然后访问它来自的项目并获得实际的软件版本,安装项目输出名称等?如果有,我希望使用此信息自动完成拾取安装程序所需的路径,并获取更新我的CRM所需的其他信息。

1 个答案:

答案 0 :(得分:0)

您可以使用MSBuild参数/target:publish使MSBuild创建ClickOnce发布文件夹。

这是一篇博客,讨论如何编辑XAML构建定义以构建和发布ClickOnce应用程序: http://blogs.msdn.com/b/tfssetup/archive/2015/09/15/build-and-publish-a-clickonce-app-using-team-build-vso.aspx

相关问题