Frage

Ich bin mit dem fabelhaften Weiß Thun Juwel mit Harke ein neues .NET-Projekt zu erstellen. Meine Organisation ist immer noch mit NAnt, und es gibt viele Leute, die erwarten, dass eine Protokolldatei, wenn die Build-Skript ausführt, um zu sehen. Wie speichere ich die msbuild Aufgabe Ausgabe, die STDOUT in eine Log-Datei ausgegeben wird?

War es hilfreich?

Lösung

dachte ich, eine Lösung aus. Wir brauchen nicht wirklich eine Build-Protokolldatei für unseren CI-Server (hudson), aber es wäre trotzdem schön sein physischen Dateien zu haben, um zu überprüfen, wenn der Build lokal ausgeführt wird, vor allem, wenn wir die Check-in-Tanz tun und den Build schlägt fehl.

Glücklicherweise sind die Weißen Thun Gecken waren klug genug, um eine „.parameters“ Option zu schaffen, die mit einem der Befehlszeilentool Aufgaben verwendet werden können Parameter hinzufügen, die nicht ausdrücklich von dieser Aufgabe behandelt werden. So zum Beispiel können Sie einen Parameter zur msbuild Aufgabe fügen Sie ein Logfile für MSBuild angeben. Und es geht ein wenig etwas wie folgt aus:

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

Unsere Rakefile ist ein wenig komplexer als das, weil es mehr Dinge zu tun, aber Sie bekommen die Idee.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top