Question

Une très petite portion de notre base de code est un code Java existant. Je suis en train d'ajouter une nouvelle construction qui invoquerait fourmi pour construire ce projet.

Le premier problème est que TFS ne vous permet pas de créer une génération qui ne construit pas une solution .Net. Je suis autour de ce en copiant un fichier de version précédente et l'ajout d'une tâche de EndToEndIteration qui est le point d'entrée pour la construction.

Le problème est qu'aucune des variables de construction habituelles sont peuplées - $ (buildDirectory), $ (SolutionRoot) - tout en blanc. Ce moyen à peu près je ne peux pas invoquer ma tâche fourmi sans hardcoding les chemins (que je ne peux certainement pas faire).

Toutes les idées?

Était-ce utile?

La solution 4

Merci pour toutes les réponses.

En fin de compte j'ai eu recours à inclure une solution vide à côté du fichier de construction. De cette façon, toutes les variables sont renseignés et je simplement inclus un qui a fait tout ce que je voulais.

Autres conseils

Vous pouvez jeter un oeil à Teamprise construire des extensions qui permet de construire des tâches Ant ou Maven de TFS.

  1. Si vous ne possédez pas déjà un, créez une tâche qui va stocker et récupérer des variables d'environnement, vous allez certainement avoir besoin de les faire java tout ce qui concerne (je crois qu'il ya un dans le MSBuild Pack d'extension )
  2. Créer une tâche personnalisée pour envelopper Ant ou utiliser la tâche de script à partir des MSBuild tâches communautaires collection
  3. Exécuter un million de fois et résoudre les problèmes que vous allez, il est généralement plus facile et plus rapide de le faire à partir de la ligne de commande, donc faire des amis avec msbuild.exe l'intérieur du terminal

Vous devriez être en mesure de passer autour de toute information que vous voulez entre les variables d'environnement, ce qui rend tout ce que vous voulez faire possible. Je ne vais pas vous recommander des chemins difficiles de codage, mais vous devez mettre la config quelque part et il est tout un métier hors de ce que vous voulez changer et comment vous voulez que les choses organisées. Si vous avez vraiment besoin, vous pouvez pousser toutes les config dans une base de données et le sucer vers le bas avec l'une des tâches SQL dans les liens ci-dessus, mais rappelez-vous que vous ajoutez une quantité considérable de complexité qui peut être inutile.

Demandez-vous:

  • comment souvent cette valeur susceptible de changer?
  • quel est l'ensemble des tâches qui doivent être fait si elle change?

Ecrire les réponses à ce quelque part et assurez-vous que tout le monde dans l'équipe comprend. Quand il s'agit de construire des systèmes à mon avis « less is more ». Trouvez la façon la plus simple de le faire, et le faire jusqu'à ce devient inacceptable et alors seulement ajouter de la complexité ... TFS est déjà assez compliqué.

Je pense que vous utilisez le mauvais outil pour le travail ici - TFS ne sera jamais une bonne solution pour la construction d'une autre que les applications .NET. Je pense que vous êtes mieux juste en utilisant des fourmis dans une capacité autonome.

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