2012-10-12 70 views
5

que tiene un entorno de TFS con la siguiente configuración de ramificaciónNuget repositorio por rama con TFS

  • Dev - rama de trabajo principal para los desarrolladores
  • principales - Estable, rama liberable
  • Hotfix - Para correcciones para la producción código que no es parte de un ciclo de lanzamiento normal

Nos estamos preparando para usar Nuget, y quiero configurar cosas tales que el código en la rama Dev extraiga paquetes de ' Dev 'nuget repository, principal de' Main ', etc.

Ahora, he descubierto las cosas hasta el punto en que tengo un solo archivo sentado en la raíz de mi branch que le dice a nuget.exe de qué repositorio utilizar.

Estoy tratando de averiguar cómo tener los contenidos de esos archivos diferentes en cada una de esas ramas. Puedo verificarlos en cada rama por separado, pero eso introducirá problemas con la fusión de Dev-> Main y Main-> HotFix.

Por lo tanto, creo que lo que quiero hacer es de alguna manera excluir este archivo de configuración en particular de ser parte de las fusiones de Dev-> Main, etc. ¿Alguna forma de hacerlo?

O, como alternativa, ¿hay alguna otra manera de lograr lo que quiero hacer con Nuget, en términos de señalar diferentes repositorios nuget para diferentes ramas?

+0

¿Puedo preguntarte qué obtienes por hacer esto? – Betty

+0

¿De tener diferentes repositorios para diferentes ramas? Bueno, queremos usar nuget para admitir referencias entre diferentes proyectos de equipo TFS. Entonces, cuando un desarrollador está trabajando en el Componente A (que tiene una referencia al Componente B en un proyecto de equipo diferente) en la sucursal Dev, queremos que su referencia Nuget apunte a la versión Dev. Al trabajar desde la sucursal de HotFix, queremos que la referencia apunte a la versión de Prod. ¿Eso tiene sentido? –

+0

¿Entonces, al liberar el Componente A, algo podría romperse porque dependía de una funcionalidad que aún no se había liberado en el Componente B? o ¿los liberas todos al mismo tiempo de todos modos? – Betty

Respuesta

5

Vas a tener que hacer algún truco ...

  • dispone de alimentación diferente para cada rama. Una manera fácil de configurar múltiples alimentaciones se www.myget.org
  • Habilitar paquete NuGet restaurar en las soluciones que desea inscribirse en este comportamiento
  • En archivo nuget.config .nuget \ de la solución, añadir lo siguiente:
<configuration> 
    <packageSources> 
    <add key="Branch X packages" value="http://www.myget.org/F/corpxyzbranchxyz" /> 
    </packageSources> 
    <disabledPackageSources /> 
    <activePackageSource> 
    <add key="Branch X packages" value="http://www.myget.org/F/corpxyzbranchxyz" /> 
    </activePackageSource> 
</configuration> 

Este ¿significa que usted tiene que tener un archivo diferente nuget.config por sucursal y que usted debe tener cuidado cuando la fusión/de ramificación.

+0

Gracias. Eso es más o menos donde terminé, aunque no sabía sobre el nodo activePackageSource. Esperaba una forma de evitar errores fáciles al fusionarme entre sucursales, pero parece que eso es lo mejor que obtendremos. –

Cuestiones relacionadas