【问题标题】:How to get the last build artifact out of the TFS build drop?如何从 TFS 构建丢弃中获取最后一个构建工件?
【发布时间】:2013-10-17 18:38:31
【问题描述】:

我们现有的批量构建脚本包含一个 URL,可从中获取(另一个构建定义的)最新产品构建。

如何访问 TFS Team Build 最新的 build drop 文件夹?

我正在寻找可以访问最新的 \buildserver\builddrop\Project-2010MMDD.N\

【问题讨论】:

    标签: tfsbuild


    【解决方案1】:

    使用 API,您可以从构建中获取放置位置。下面的代码获取给定项目的最新构建,并返回 dropfolder。

    public string DropFolder(TeamFoundationServer tfs, string teamProject, string buildName)
    {
        IBuildServer buildServer = (IBuildServer)tfs.GetService(typeof(IBuildServer));
    
        IBuildDetailSpec buildDetailSpec = buildServer.CreateBuildDetailSpec(teamProject, buildName);
    
        buildDetailSpec.MaxBuildsPerDefinition = 1;
        buildDetailSpec.QueryOrder = BuildQueryOrder.FinishTimeDescending;
        buildDetailSpec.Status = BuildStatus.Failed | BuildStatus.PartiallySucceeded | BuildStatus.Stopped | BuildStatus.Succeeded;
    
        IBuildQueryResult results = buildServer.QueryBuilds(buildDetailSpec);
    
        if (results.Failures.Length != 0)
        {
            throw new ApplicationException("this needs to go away and be handled more nicely");
        }
    
        if (results.Builds.Length == 1)
        {
            results.Builds[0].DropLocation;
        }
        else
        {
            return null;
        }
    }
    

    【讨论】:

    • 另外,如果不打算编写一个小型实用程序来执行此操作,则相同的 API 会暴露给 PowerShell。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 2014-09-06
    • 2013-04-12
    • 2014-08-28
    • 1970-01-01
    相关资源
    最近更新 更多