Pregunta

Nos mantenemos una aplicación de ventanas de tamaño medio desarrollado en VB / C # .NET en el trabajo. Aún ahora el proceso de compilación y despliegue de esta aplicación es manual. Estoy decidido a hacer que este proceso automatizado utilizando MSBuild en el que no tengo conocimiento todavía ahora.

Nuestra aplicación tiene una estructura de construcción sencilla, un conjunto de proyectos que ya están agrupadas en cuatro soluciones (.sln) y sólo hay que construir las cuatro GC en un pedido. Y luego publicar un proyecto (que forma parte de la última sln que ser construido) en un directorio. Eso es. Un simple proceso que ya está consumiendo 30 minutos de tiempo de construcción manual y estoy bastante seguro de que esto se puede lograr sin interferencia manual utilizando msbuild en al menos 1/4 ª parte del tiempo.

Todas mis metas establecidas bueno, me empecé a buscar recursos web para MSBuild para cumplir mi proceso, pero pueden estar buscando en torno a muchas cosas me confunden. ¿Necesita un puntero o una buena explicación sobre cómo iniciar y por dónde empezar para mi escenario simple. Ayuda es muy apreciada.

¿Fue útil?

Solución

Esto suena como un guión muy fácil de escribir. Incluso un archivo por lotes haría:

msbuild \path\to\first.sln /p:Configuration=Release
msbuild \path\to\second.sln /p:Configuration=Release
msbuild \path\to\third.sln /p:Configuration=Release
msbuild \path\to\fourth.sln /p:Configuration=Release
call deploy

Por supuesto, mucho mejor sería tener un servidor que ejecuta, dicen CruiseControl.NET , que proporciona una interfaz web en el estado de construcción y la historia.

En la EM Construir, hay dos principales puntos de control para la persona que llama: el blanco y sus propiedades. El objetivo es lo que recopile, los recursos, la compilación, el despliegue, etc. Las propiedades de control de cómo se construye ese objetivo.

Puede controlar la configuración mediante el Configuración propiedad (véase más arriba). Si abre su *. * Archivos proj, se dará cuenta de los elementos PropertyGroup. Estos son ajustables a través de la línea de comandos usando la arg /p.

Aquí están las especificaciones para los dos argumentos:

/target:<targets>  Build these targets in this project. Use a semicolon or a
                 comma to separate multiple targets, or specify each
                 target separately. (Short form: /t)
                 Example:
                   /target:Resources;Compile

/property:<n>=<v>  Set or override these project-level properties. <n> is
                 the property name, and <v> is the property value. Use a
                 semicolon or a comma to separate multiple properties, or
                 specify each property separately. (Short form: /p)
                 Example:
                   /property:WarningLevel=2;OutDir=bin\Debug\

Otros consejos

He aquí una buena guía que tiene una gran cantidad de información sobre MSBuild, integración continua y CuriseControl.NET. Sin duda un buen lugar para empezar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top