Soy el Administrador de programas para las funciones de automatización de compilación de TFS, por lo que me gustaría comentar esta cuestión. No hemos reemplazado MSBuild con Windows Workflow (WF). Todavía confiamos mucho en MSBuild como motor de compilación central, que es su competencia principal. Descubrirá que hay muchas tareas que aún se automatizan de manera más fácil y efectiva con MSBuild.
Presentamos WF como una forma de proporcionar una capa de orquestación de nivel superior sobre el motor de compilación central (que es MSBuild en las plantillas de proceso de compilación que incluimos en el recuadro). Hace posible hacer cosas como distribuir un proceso en varias máquinas y vincular el proceso a otros procesos basados en flujo de trabajo.
Entonces, ¿cuándo debería automatizar con MSBuild y cuándo debería automatizarse con WF? Aquí está mi guía general sobre ese tema:
- Si la tarea requiere el conocimiento de las entradas o salidas de generación específicos, utilizar MSBuild
- Si la tarea es algo que tiene que suceder cuando se genera en Visual Studio, utilizar MSBuild
- Si la tarea es algo que sólo se necesita que suceda cuando se genera en el servidor de compilación, utilice WF menos que requiere el conocimiento de los insumos de construcción/salidas específicas
al utilizar MSBuild, recuerde que usted puede personalizar sus archivos de proyecto directamente (descargándolos yt uando los edite en Visual Studio), o puede crear archivos .targets personalizados e importarlos a sus proyectos individuales. El último enfoque es útil para la funcionalidad que es común a múltiples proyectos para evitar el mantenimiento de copias múltiples.
Al usar WF, recuerde que puede escribir actividades de código para tareas de bajo nivel pero que también puede componer tareas de alto nivel utilizando XAML directo. En realidad, estamos trabajando en una versión de la plantilla de proceso de compilación predeterminada incluida con TFS 2010 que le brinda una vista más simple y menos granular del proceso general mediante el uso de un conjunto de actividades XAML compuestas.
Las compilaciones de flujo de trabajo son heredadas ahora :) – paulm
Sí, seguro que sí. Ojalá Node o .NET Core hubieran sido una opción viable cuando hicimos el cambio a WF. –