Comment puis-je trouver la dernière construction de l'emplacement de BuildDrop?

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

  •  10-12-2019
  •  | 
  •  

Question

J'ai défini une construction dans TFS 2010 avec un emplacement de goutte comme "\ Server \ Builddrop \".Lorsque je fais la queue la construction, il laisse tomber la construction dans quelque chose comme "\ Server \ Builddrop \ myBuild \ myBuild_20120309.1".

J'aimerais pouvoir définir une construction qui va tomber à un endroit exact qui ne change jamais. Puis-je modifier la définition de construction pour toujours déposer dans un endroit comme celui-ci?

1) \ serveur \ builddrop \ mybuild \
ou de
2) \ serveur \ builddrop \ myBuild \ Dernière \

Était-ce utile?

La solution

Si les gens veulent savoir où trouver les dernières constructions, je pense qu'il est préférable de les éduquer sur l'endroit où l'emplacement de la goutte est et ce que les noms de construction sont afin qu'ils puissent facilement déterminer lequel est le dernier. Si vous souhaitez copier la sortie de l'emplacement de goutte dans le même répertoire, vous devez créer un modèle personnalisé (en modifiant le modèle par défaut) qui exécute votre construction. Pendant ma construction, une fois que les fichiers sont copiés dans la localisation de la liste déroulante, j'exécute un script pour copier les fichiers de l'emplacement Drop dans un répertoire "dernier" commun. Toutefois, vous pouvez facilement rencontrer des problèmes dans lesquels des personnes accèdent aux fichiers du répertoire "dernier" pendant que vous exécutez une version, et votre version échoue donc car elle ne peut pas écraser ces fichiers.

Si vous souhaitez déterminer l'emplacement Drop de la dernière version réussie, vous pouvez également le faire par programme. Vous trouverez ci-dessous une extraction d'une activité personnalisée que j'ai écrite pour faire juste que:

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

Si vous envisagez de personnaliser l'équipe Build 2010, je suggère de lire Tutoriels d'Ewald Hoffman sur le sujet .

Autres conseils

Lorsqu'une construction est déclenchée, un dossier sera créé dans l'emplacement de goutte spécifié comme

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

    La convention de dénominage de dossier est "Build Definition"_"yyyymmdd"."build number" Le numéro de construction est le nombre de constructions données en une journée.Ainsi, lorsque vous déclenchez une construction, vous pouvez aller à la localisation de la version de la construction et simplement aller le dernier dossier (basé sur la convention de dénomination) et obtenir la configuration.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top