Как получить последний артефакт сборки из дропа сборки TFS? - PullRequest
6 голосов
/ 07 июня 2010

Наш существующий скрипт пакетной сборки содержит URL-адрес для получения последней версии продукта (другого определения сборки).

Как получить доступ к самой последней папке сборки TFS Team Build?

Я ищу что-то для доступа к последней версии \ buildserver \ builddrop \ Project-2010MMDD.N \

1 Ответ

4 голосов
/ 07 июня 2010

Используя API, вы можете получить место сброса из сборки. Приведенный ниже код получает самую последнюю сборку для данного проекта и возвращает папку сброса.

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;
    }
}
...