2009-07-01 10 views
10

Antecedentes: tenemos una configuración de servidor TFS donde administro nuestro código fuente y rastreamos elementos de trabajo y errores. También tenemos la configuración de CC.Net para ayudarnos a hacer CI (la mayoría solo construye y ejecuta pruebas unitarias). Usamos .NET Framework 3.5 y VS 2008Cuál es/son la (s) diferencia (s) entre MSBuild y TFSBuild

Estoy familiarizado con MSBuild y lo uso en nuestro proyecto actual para realizar muchas tareas previas al despliegue e implementación. Sin embargo, no estoy seguro del propósito de TFSBuild. Creo que se usa en el nivel del servidor TFS para realizar tareas de compilación. Pero no puedo encontrar una buena documentación sobre si yo (como desarrollador, no administrador de nuestros desarrolladores TFS ... solo tengo acceso de lectura al servidor TFS) puedo usar TFS Build para facilitar mis tareas de implementación/CI. ¿Puedo usar TFSBuild para hacer mi tarea más fácil/más eficiente cuando ya estoy usando MSBuild para mi proceso de compilación y CC.Net ya está ejecutando el conjunto de pruebas unitarias que tenemos? ¿Es TFSBuild una alternativa a CC.Net? ¿Qué hay de la integración de TFSBuild con Visual Studio 2008?

Actualización: ¿Cómo encaja 'TeamBuild' en esta pila? Más que la teoría, un ejemplo simple que reúna estas cosas sería de gran ayuda. En este momento, hacemos dos cosas: utilizar MSBuild para realizar tareas de implementación (actualizar archivo de configuración, información de versión, publicar aplicación en un servidor remoto) y luego CC.Net se hace cargo. ¿Dónde puedo incluir TeamBuild/TFSbuild en esta imagen? Y más importante, ¿lo necesito? Entiendo que todos tienen diferentes requisitos, pero ¿puede ayudar en general? Una buena razón que obtuve de una de las respuestas para usar la compilación TFS fue crear tickets TFS automáticamente en algunas condiciones. ¿Cuáles son algunas cosas como esas que usualmente hacen?

+0

¿Quiere decir Team Build? El único TFSBuild que conozco es el archivo TFSBuild.proj. –

+0

John, ahora mismo estoy confundido entre TeamBuild y TFSBuild. :). Cualquier explicación que pueda tener sobre ambos sería útil. – desigeek

+0

No existe tal cosa como "TFSBuild", como un componente ejecutable. Vea las respuestas a continuación. –

Respuesta

14

TFS utiliza misma MSBuild 3.5 bajo el capó para automática de generaciones que Visual Studio 2008 utiliza localmente. TFS define su propia secuencia de compilación al proporcionar a MSBuild un archivo .proj que importa objetivos específicos de TFS y enriquece la secuencia de compilación de la solución con las funciones útiles en el entorno de equipo (es decir, obtener la última versión del control de fuente, crear, crear Boleto TFS si la compilación falla, etc.)

Aquí está my attempt at making sense of all these build frameworks proporcionando la perspectiva histórica: (mis conjeturas y suposiciones pueden ser inválidas, pero aún así deben ser información conceptual útil para noobs). Consulte la última sección llamada "Conceptos de MSBuild relacionados con TFS": tiene algunos enlaces útiles.

3

MSBuild vs TFSBuild

MSBuild es la tecnología que se utiliza para construye el real. El nodo 'Compilaciones' en Team Explorer es un archivo XML que ingresa parámetros básicos que se incluirán en MSBuild. Cuando agrega una compilación en este nodo, realmente agregará algunos archivos a su árbol de control de origen. Estos son los archivos que están conectados a MSBuild que usted personalizaría.

Puede automatizar sus compilaciones muy fácilmente. Existe una herramienta de línea de comandos llamada tfsbuild, que debe ubicarse en la carpeta% Archivos de programa% \ Microsoft Visual Studio 8 \ Common7 \ IDE. Especifique un servidor TFS, un proyecto de equipo y un tipo de compilación (el nombre que creó en el nodo 'Compilaciones'). Utilice esta utilidad de línea de comandos y use el Programador de tareas dentro de Windows para llamar esto (Archivos de programa -> Accesorios -> Herramientas del sistema -> Programar tareas).

Fuente: MSDN Forums

Cuestiones relacionadas