msbuild cruisecontrol.net

¿Hay un buen tutorial sobre los scripts de MSBuild?



Estoy trabajando en un proyecto de aplicación web y necesito crear un script de construcción; un script de construcción que puedo activar desde mi servidor de cruisecontrol. Como nant no se ha mantenido durante años, creo que MSBuild es el camino a seguir.

Necesito el script de compilación para poder

  • Compilar todas las asambleas
  • Ejecutar pruebas unitarias
  • Ejecute el análisis de NCover en las pruebas unitarias
  • Implementar la base de datos (dependiendo de los parámetros). Esto realmente está ejecutando una herramienta, ya que terminaré escribiendo mi propia herramienta para implementar la base de datos. Pero la ejecución de la herramienta debe ser condicional en función de algún parámetro de línea de comando.
  • Entregue pruebas de unidades y resultados de cobertura en un formato que cruisecontrol pueda leer y comprender.

Supongo que MSBuild me permitirá hacer todas estas cosas. Pero no sé por dónde empezar. ¿Alguien sabe de un buen tutorial para comenzar con mi script de compilación?







Hay una publicación de blog " Comenzando con MSBuild " en el blog de Visual Studio que ofrece una buena descripción de cómo MSBuild está conectado con Visual Studio. Es bastante reciente (25.02.2010) y utiliza Visual Studio 2010 y el MSBuild v4.0 que lo acompaña.

Aunque no hay mucho código allí.

No fue hasta que leí este blog que entendí que los archivos * .csproj son archivos de MSBuild. Y también, que el comando Compilar, Limpiar, Reconstruir y Publicar en el menú contextual del proyecto en realidad son "objetivos" de MSBuild.


Perdí mucho tiempo antes de comprar el libro Hashimi MSBuild , fantástico. Estoy de acuerdo con esta crítica de Steven St Jean .

Además de una excelente introducción general a las secuencias de comandos de MSBuild, tiene una sección de libros de cocina sobre cómo realizar automatizaciones de construcción típicas, como números de compilación, etc. Obviamente, la última sección de TeamBuild no será directamente relevante para usted, pero muchos de los temas son genéricos. en todas las herramientas de CI.

ACTUALIZACIÓN: La segunda ed mantiene la tendencia, añadiendo una sección imprescindible en WebDeploy