Estoy escribiendo un script de compilación con Powershell. Las secuencias de comandos lleva a cabo diversas operaciones tales como conseguir la última versión del código fuente de la SVN, copias de seguridad, etc., y construye la solución utilizando MSBuild:MSBuild en una secuencia de comandos Powershell - ¿Cómo puedo saber si la compilación tuvo éxito?
cmd /c C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe "C:\Dev\Path\MyProjct.sln" /p:Configuration=Release
Después de esta instrucción, sólo quiero ejecutar el resto de la secuencia de comandos si la compilación tuvo éxito. ¿Cómo puedo verificar esto?
El proyecto es un proyecto web, por lo que no es tan fácil buscar una salida, pero supongo que algunas variables contendrán el resultado de la compilación. Además, dado que llamo a msbuild con cmd/c, ¿podré acceder a estas variables?
Tengo curiosidad ... ¿por qué utilizar un script de PowerShell para hacer la acumulación? ¿Por qué no usar un archivo MSBuild y usar las ibrer de tareas de extensión para hacer cosas como get from SVN? PowerShell es genial y poderoso, pero en cierta medida estás tomando el camino difícil. – slugster
Bueno, lo primero es que realmente no conozco MSBuild, pero tengo una idea de que es una herramienta para construir, y puedo tener dificultades para interactuar con cualquier otra cosa (SVN, WinRAR, ...). Para mí, la construcción es solo el 5% del proceso de desarrollo y creo que un lenguaje de scripting es el más apropiado para el otro 95%. Pero estoy feliz de estar equivocado. –
MSBuild es una gran herramienta de dependencia orientada a tareas. El uso de PowerShell permite numerosos escenarios y permite enfoques orientados a productos. Echa un vistazo a PSake también, lo usamos. Cuando desee extender las cosas, no tiene que caer en C# (Tareas de MSBuild). Simplemente agrega más PowerShell. –