Как я могу найти последнюю сборку в местоположении Builddrop?

StackOverflow https://stackoverflow.com//questions/9644083

  •  10-12-2019
  •  | 
  •  

Вопрос

Я определил сборку в TFS 2010 с местоположением падения типа «\ Server \ builddrop \».Когда я покинул постройку, она бросает сборку в чем-то вроде "\ server \ builddrop \ mybuild \ mybuild_20120309.1".

Я хотел бы быть в состоянии определить сборку, которая упадет в точное место, которое никогда не меняется. Могу ли я изменить определение сборки, чтобы всегда упасть в так, как это?

1) \ server \ builddrop \ mybuild \
или
2) \ Server \ Builddrop \ MyBuild \ Neighle \

Это было полезно?

Решение

Если люди хотят знать, где найти последние сборки, я думаю, что лучше всего воспитывать их на том, где находится расположение капель, и какие имена сборки настолько могут легко определить, какой из них сами. Если вы хотите скопировать выходное положение расположения падения в тот же каталог, вам придется создать пользовательский шаблон (путем изменения шаблона по умолчанию), который запускает вашу сборку. Во время моей сборки, после того, как файлы скопированы на местоположение падения, я выполняю скрипт, чтобы скопировать файлы в расположении падения в общепринятый «последний» каталог. Тем не менее, вы можете легко столкнуться с проблемами, где люди получают доступ к файлам в каталоге «Neighle», когда вы выполняете сборку, и поэтому ваша сборка не удается перезаписать эти файлы.

Если вы хотите определить местоположение падения последней успешной сборки, вы также можете сделать это программно. Ниже приведен фрагмент пользовательской деятельности, которую я написал, чтобы сделать только что:

        string tfsUri = "http://pathToTfsServer:8080/tfs";
        string projectName = "MyTfsProject";
        string buildDefinition = "MyTfsBuildDefinitionName";

        // connect to the Project and query the builds of the BuildDefinition
        var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(tfsUri), new UICredentialsProvider());
        tfs.EnsureAuthenticated();
        var buildServer = tfs.GetService<IBuildServer>();
        var buildDetails = buildServer.QueryBuilds(projectName, buildDefinition);

        // sort builds based on start time
        Array.Sort(buildDetails, delegate(IBuildDetail build1, IBuildDetail build2)
        {
            return build1.StartTime.CompareTo(build2.StartTime);
        });

        // return only the last successful build that currently exists
        for (int i = buildDetails.Length - 1; i >= 0; i--)
        {
            if (buildDetails[i].Status == BuildStatus.Succeeded && buildDetails[i].IsDeleted == false)
                return buildDetails[i];
        }
.

Если вы смотрите на настройку команды Build 2010, то я предлагаю прочитать Учебные пособия Ewald Hoffman на теме .

Другие советы

Когда запускается сборка, папка будет создана в указанном месте, такое как

    .
  • mybuild_20120309.1
  • mybuild_20120309.2
  • mybuild_20120310.1

    Соглашение об именах папки Renacodicetacode Номер сборки - это количество сборки, указанных в день.Поэтому, когда вы запускаете сборку, вы можете перейти на местоположение выпадения сборки и просто пойти на последнюю папку (на основе конвенции именования) и получите настройку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top