2008-11-19 5 views
9

Mi empresa está pasando de svn (y productos de código abierto) a TFS (y productos MS). Hemos utilizado maven en el pasado para empaquetar componentes preconstruidos en paquetes listos para lanzar. ¿Hay alguna herramienta en TFS o MS-Land tan poderosa como maven para hacer esto?¿Qué herramienta es el equivalente de Maven en TFS (o MS-land)?

He visto msbuild, pero parece un poco menos robusto que Maven.

+0

TFS ahora es compatible con Maven Package Management: https://stackoverflow.com/a/44119042/7862382 –

Respuesta

4

No hay nada mejor, MSBuild no es como Maven, MSBuild es como Ant. Por supuesto, si Ivy puede hacer que Ant sea más parecido a "Maven", alguien podría crear algo como Ivy pero para MSBuild y hacerlo más "similar a Maven".

Hubo un intento de crear algo así como maven llamado NMaven pero ahora es un proyecto inactivo. Otros intentos son NPanday y Byldan. Pero no estoy seguro del estado de esos 2 proyectos.

+1

Parece que NPanday (http://www.codeplex.com/npanday) recientemente logró su versión 1.0, tal vez deberías intentarlo –

+0

NPanday se retiró en febrero de 2015: http://incubator.apache.org/projects/ index.html # npanday –

3

Querrá consultar Team Build que es parte de TFS y MsBuild, que Team Build utiliza para automatizar el proceso de compilación. Con estos dos elementos juntos, puede crear un proceso de automatización de compilación bastante agradable para generar imágenes iso, documentación y pruebas de unidad de ejecución, por ejemplo.

+0

¿Cómo se compara esto con Paket? –

+0

@JanusTroelsen ¿Estás hablando del paquete de HashiCorp? –

+0

Estoy hablando de [esto] (https://fsprojects.github.io/Paket/) –

7

En la pila oficial de TFS/Microsoft, MSBuild es el lenguaje de compilación. Sin embargo, esto es más como Ant (o Nant) en lugar de Maven - es decir, es un lenguaje de scripting basado en XML diseñado para compilaciones de software en lugar de utilizar el enfoque de "convención sobre la configuración" de Maven. MSBuild no tiene las características de administración de dependencias que son bastante exclusivas de Maven.

Team Foundation Build se basa en MSBuild, sin embargo, establece un marco de actividades en objetivos predefinidos (similar a los objetivos en Maven hablan). Estas actividades cubren elementos tales como generar el número de compilación, etiquetar el código, descargar el código, crear las Soluciones definidas, Ejecutar pruebas unitarias, publicar los resultados en TFS y hacer frente a los resultados de la compilación en un recurso compartido de red para una implementación posterior . Puede crear fácilmente una nueva Team Foundation Build en la interfaz de usuario de Visual Studio y luego personalizarla anulando algunos de los muchos ganchos predefinidos que reciben durante el proceso de compilación predeterminado editando el archivo TFSBuild.proj que se creó para su construir. De alguna manera, puede pensar que el archivo TFSBuild.proj se parece un poco al archivo Maven POM, pero son muy diferentes.

El sistema de compilación en Team Foundation Build 2008 es bueno, aunque muy basado en XML. Sin embargo, si te sientes cómodo con la configuración de Maven, estarás contento con la configuración basada en XML de Team Foundation Build. TFS Build proporciona características tales como programación de compilación, integración continua, gestión de retención de compilación, etc. También puede llamar fácilmente a las compilaciones de Ant existentes utilizando el código gratuito (y de código abierto) build extensions de la empresa para la que trabajo (Teamprise).

Curiosamente, actualmente estamos trabajando en la integración de Maven2 con Team Foundation Build. Tenemos un proveedor Maven2 SCM desarrollado que habla con TFS y actualmente estamos trabajando en la Extensión de compilación de equipos para permitirle llamar a las compilaciones Maven2 fácilmente desde Team Foundation Build. Si quisieras quedarte con Maven para tus construcciones y probar nuestra integración con Maven a medida que esté disponible, escríbeme a [email protected]

estaría interesado en escuchar si está utilizando Maven para construir proyectos .NET o Java (o alguna otra cosa o una combinación de todo)

Espero que ayude,

Martin.

+0

¿Su integración de Maven está disponible públicamente ahora o fue abandonada? –

Cuestiones relacionadas