2

J'aime utiliser VSTS ("Visual Studio Team Service") mais j'ai un gros problème.Comment créer une définition de construction dans les "services d'équipe de studio visuel" utilisant les codes sources de plusieurs "projets d'équipe"?

Fondamentalement, j'ai quelques solutions de bibliothèque de classe (par exemple ClassLibrary1 ClassLibrary2) que je les utilise comme référence dans mes autres projets (par exemple websiteSolution1, websiteSolution2, websiteSolution3.)

Bien sûr, je voudrais avoir une séparer git repo (Projet d'équipe dans VSTS) pour chaque solution, disons que les "projets d'équipe" portent le même nom que la solution qu'ils contiennent.

J'aime créer des définitions de construction avec les règles ci-dessous:

  1. si quelqu'un engage un changement à l'un des « projet d'équipe » classlibrary (par exemple ClassLibrary1), puis d'abord, nous construisons cette solution ClassLibrary et utiliser le résultat (le fichier DLL) pour l'alimenter en solutions de sites Web (eg websiteSolution1, websiteSolution2, websiteSolution3.) et enfin construire les solutions web (qui sont dans différents projet d'équipe mais le même compte)

  2. si quelqu'un commet un passer à l'une des solutions de sites Web (par exemple, websiteSolution1), puis Premièrement, nous construisons tous les «projets d'équipe» de la bibliothèque de classe (par ex. ClassLibrary1, ClassLibrary2) et utilisez le résultat (le fichier DLL) pour l'intégrer dans des solutions de sites Web (eg websiteSolution1,) et enfin construire la solution web (qui est dans un projet d'équipe différent mais le même compte)

Problème: lorsque je crée une nouvelle "définition de construction", je ne peux voir que les codes dans le même projet d'équipe qui contient la définition de construction.

+0

Vous pouvez obtenir des fichiers supplémentaires dans un autre référentiel en appelant la commande Git pendant la construction, vous pouvez vérifier ma réponse. –

Répondre

1

Plusieurs référentiels pour VSTS git build ne sont pas pris en charge. (Nous pouvons mapper plusieurs sources si nous utilisons TFVC)

There est une voix d'utilisateur liée que vous pouvez voter.

La solution:

Vous pouvez obtenir des fichiers supplémentaires dans d'autres référentiel via la commande git (étape ligne de construction de commande et vous devez vérifier Autoriser les scripts d'accès OAuth jeton dans la balise Option de votre définition de build).

enter image description here

1. Si quelqu'un engage un changement à l'un des « projet d'équipe » classlibrary (par exemple ClassLibrary1), puis d'abord, nous construisons cette solution ClassLibrary et utiliser le résultat (le fichier DLL) pour l'alimenter dans les solutions de sites Web (par exemple, websiteSolution1, websiteSolution2, websiteSolution3.) Et enfin construire les solutions web (qui sont dans différents projets d'équipe, mais le même compte)

Étapes:

  1. Création d'une définition nouvelle de construction pour le projet classlibrary/solution
  2. Ajouter étape de génération PowerShell pour appeler build REST API pour mettre en file d'attente la construction de votre site Web (vérifier this article pour le code)
  3. Vérifier l'intégration continue (CI) et définir les filtres de branche dans l'onglet Déclencheurs de cette définition de construction

2.si quelqu'un s'engage à apporter une modification à l'une des solutions de sites Web (par ex. websiteSolution1) puis d'abord nous construisons tous les "projets d'équipe" de la classlibrary (par exemple ClassLibrary1, ClassLibrary2) et utilisons le résultat (le fichier DLL) pour l'intégrer dans les solutions de sites Web (par exemple websiteSolution1,) dans différents projets d'équipe, mais le même compte)

étapes:

  1. Créer une définition de build pour la solution Websites
  2. Ajouter par ligne de commande étape pour exécuter la commande git pour obtenir des fichiers classLibrary dans un autre référentiel (se référer à la capture d'écran précédente)
  3. Ajout d'une étape Visual Studio Build pour créer un projet/une solution classlibrary
  4. Ajouter une étape de copie de fichiers pour copier le fichier de résultats de construction (par ex. fichiers .dll) vers le dossier nécessaire par chemin associé de la référence classlibray du projet de site Web. Vous pouvez le vérifier dans le fichier de projet,

par exemple:

<Reference Include="ClassLibraryB"> 
     <HintPath>..\..\MSBuildDemoSolution1\ClassLibrary1\Lib\ClassLibraryB.dll</HintPath> 
    </Reference> 
  1. Ajouter une étape de construction Visual Studio pour construire des projets de site web/solution
+0

Comment MSoft peut manquer cette pièce unique. Il est très important de construire à partir de multiples repos et ils ne le supportent pas. Sauvage. –