Visual Studio – Git extrae varios repositorys en la compilation

Tengo un proyecto web que está en su propio repository git. Hace reference a otros proyectos que también están en sus propios repositorys, pero se agregan a esta solución.

¿Es posible hacer un tirón en esos otros proyectos como una especie de acción de construcción? Idealmente, al build el proyecto web, me gustaría extraer la twig principal y actualizar todos los otros proyectos automáticamente para que no tenga que abrir cada uno de sus repositorys manualmente, uno por uno, hacer un tirón para cada uno.

Hay objectives "BeforeBuild" pnetworkingeterminados en MSBuild, consulte: https://msdn.microsoft.com/en-us/library/ms366724.aspx

Esto le permite ejecutar cualquier process de "configuration" que necesite antes de ejecutar el objective "CoreBuild" . entonces, podrías hacer algo como esto en tu proyecto:

 <Target Name="BeforeBuild"> <Exec Command="git.exe clone http://some/repo.git" /> </Target> 

Por supuesto, esto supone que git está instalado en la máquina y disponible desde la ruta del sistema. también puede usar MSBuild "Elementos" para hacer esto más "dynamic", por ejemplo:

 <ItemGroup> <ReposToInclude Include="//first/repo.git" /> <ReposToInclude Include="//second/repo.git" /> <ReposToInclude Include="//third/repo.git" /> </ItemGroup> <Target Name="BeforeBuild"> <Exec Command="git.exe clone %(ReposToInclude.Identity)" /> </Target> 

Un ItemGroup es como una matriz y el "%" es como una statement de "foreach". Así que este Exec iterará sobre todos los repos y hará un clon git, o pull, o lo que sea que necesites que haga.

Además, es posible que desee consultar el uso de "Condiciones", que son como las declaraciones "IF" en el código. para que pueda hacer un clon o tirar de manera condicional según algunos criterios.

Espero que esto ayude.