¿Cómo hacer que la tubería de salida de mi msbuild a un archivo de registro de rastrillo

StackOverflow https://stackoverflow.com/questions/3114454

  •  29-09-2019
  •  | 
  •  

Pregunta

Estoy usando la gema albacora fabulosa con el rastrillo para construir un nuevo proyecto .NET. Mi organización sigue utilizando Nant, y hay un montón de personas que esperan ver un archivo de registro cuando se ejecuta el script de construcción. ¿Cómo se guarda la salida de la tarea msbuild que consigue descargado a la salida estándar a un archivo de registro?

¿Fue útil?

Solución

Me di cuenta de una solución. En realidad, no necesitamos un archivo de registro de generación para nuestro servidor CI (Hudson), pero aún así sería bueno tener archivos físicos para comprobar cuando la acumulación se ejecuta localmente, sobre todo cuando estamos haciendo el registro de entrada en la danza y la acumulación fracasa.

Afortunadamente, los tipos de atún blanco fueron lo suficientemente inteligentes para crear una opción de ".parameters", que se puede utilizar con cualquiera de las tareas de la herramienta de línea de comandos para agregar parámetros que no son manejados de manera explícita por esa tarea. Así, por ejemplo, se puede añadir un parámetro a la tarea msbuild para especificar un archivo de registro para MSBuild. Y no hace falta un poco de algo como esto:

BUILD_REPORTS = 'BuildReports'
MSBUILD_EXE = "C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe"

directory BUILD_REPORTS

CLEAN.include BUILD_REPORTS

task :default => [:build]

desc "Build the solution"
msbuild :build => BUILD_REPORTS do |msb|
    msb.properties :configuration => :Debug
    msb.path_to_command = MSBUILD_EXE
    msb.targets :Clean, :Build
    msb.solution = "./mysolution.sln"
    msb.parameters "/l:FileLogger,Microsoft.Build;logfile=" + log_file("build")
end

def log_file(log_file_name)
    BUILD_REPORTS + log_file_name + ".log"
end

Nuestra Rakefile es un poco más complejo que eso, ya que tiene que hacer más cosas, pero usted consigue la idea.

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