Frage

Ich habe Testserver die Ich mag würde für CI verwenden.

Planen ist die Einrichtung Hudson dass Streams zu git-Repository, auf neue Fetches Änderungen verpflichten, baut Lösung, Tests läuft (picks up Ausgabe), Setups Testumgebung Web-Anwendung, wenn alles sieht grün und zeigt Chuck Norris .

Ich bin mit dem ersten Teil zu kämpfen (git Ports atm geschlossen, aber das ist nicht der Sinn dieser Frage) und letzten Teil.

Anwendung selbst gebaut wird mit .NET 4.0, Asp.Net Mvc 2 RTM und Haufen von 3rd-Party-Tool.

Auf den ersten - konnte gar nichts bauen - heruntergeladen .Net 4.0 sdk-Kit und es half. Dann - konnte nicht Webprojekt bauen - nur kopiert C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\ Ordner-Inhalte von meinem dev Workstation-Server. Dann hatte ich asp.net installieren MVC2 rtm selbst und Lösung schließlich erfolgreich aufbaute.

ist Problem mit dem letzten Schritt in Albacore-Build-Skript, das ich aus nahm hier .

Hier Ausgabe:

C: \ temp \ buildtest> Rake -f build.rb (In C: / temp / buildtest) Microsoft (R) Build-Engine Version 4.0.30319.1 [Microsoft .NET Framework, Version 4.0.30319.1] Copyright (C) Microsoft Corporation 2007. Alle Rechte vorbehalten.

Domain -> C: \ temp \ buildtest \ src \ Domain \ bin \ Release \ Domain.dll
Infra -> C: \ temp \ buildtest \ src \ Infrastructure \ bin \ Release \ Infra.dll
Persistenz -> C: \ temp \ buildtest \ src \ Persistence \ bin \ Release \ Persistence.dll
App -> C: \ temp \ buildtest \ src \ App \ bin \ Release \ App.dll
Web -> C: \ temp \ buildtest \ src \ Web \ bin \ Release \ Web.dll
UI -> C: \ temp \ buildtest \ src \ UI \ bin \ UI.dll
Unit -> C: \ temp \ buildtest \ src \ Unittests \ bin \ Release \ Unit.dll
Integration -> C: \ temp \ buildtest \ src \ Integration \ bin \ Release \ Integration.dll
xUnit.net Konsole Test Runner (32-Bit .NET 4.0.30319.1)
Copyright (C) 2007-10 Microsoft Corporation.

xunit.dll: Version 1.6.1.1521
Testaufbau: C: \ temp \ buildtest \ src \ Unittests \ bin \ Release \ src \ Unittests \ bin \ Release \ Unit.dll

84 gesamt, 0 fehlgeschlagen, 0 übersprungen, nahm 9,560 Sekunden
xUnit.net Konsole Test Runner (32-Bit .NET 4.0.30319.1)
Copyright (C) 2007-10 Microsoft Corporation.

xunit.dll: Version 1.6.1.1521
Testaufbau: C: \ temp \ buildtest \ src \ Integration \ bin \ Release \ src \ Integration \ bin \ Release \ Integration.dll

27 gesamt, 0 fehlgeschlagen, 0 übersprungen, nahm 34,472 Sekunden

Unbehandelte Ausnahme: System.TypeInitializationException: Die Typeninitialisierer fo r ‚Microsoft.Build.CommandLine.MSBuildApp‘ hat eine Ausnahme. ---> System.IO.Fi leNotFoundException: Datei konnte nicht geladen werden oder Assembly ‚Microsoft.Build.Engine, Ve rsion = 3.5.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a‘oder einem seiner d ependencies. Die angegebene Datei wurde vom System nicht gefunden. Dateiname: ‚Microsoft.Build.Engine, Version = 3.5.0.0, Culture = neutral, PublicKeyT Oken = b03f5f7f11d50a3a‘ bei Microsoft.Build.CommandLine.MSBuildApp..cctor ()

WRN: Protokollierung der Assemblybindung ist ausgeschaltet. Zum Aktivieren der Assemblybindungsfehler Protokollierung, legen Sie den Registrierungswert [HKLM \ Software \ M icrosoft \ Fusion! EnableLog] (DWORD) auf 1. Hinweis: Es besteht eine gewisse Leistungseinbuße mit Montage binden Versagen lo gging. Um diese Funktion zu deaktivieren, entfernen Sie den Registrierungswert [HKLM \ Software \ Microsoft \ Fus Ion! EnableLog].

--- Ende der inneren Ausnahmestapelüberwachung --- bei Microsoft.Build.CommandLine.MSBuildApp.Main () F, [2010-09-18T00: 35: 07.728632 # 2072] FATAL -: MSBuild fehlgeschlagen. Siehe Build Log F oder Detail Rake abgebrochen! MSBuild fehlgeschlagen. Siehe Build Log Für Details C: /Ruby191/lib/ruby/gems/1.9.1/gems/albacore-0.1.5/lib/albacore/msbuild.rb: 41: in `Build_solution‘ (Siehe vollständige Spur von Aufgabe mit --trace ausgeführt wird)

C: \ temp \ buildtest>

Dies ist, wie mein Weißen Thun Skript aussieht:

require 'rubygems'
require 'albacore'
task :default => :publish

desc "Builds Interreg solution"
msbuild :build do |m|
  m.path_to_command = File.join(ENV["windir"], 
    "Microsoft.NET", "Framework", "v4.0.30319", "MSBuild.exe")
  m.properties :configuration => :Release
  m.targets :Clean, :Build
  m.solution = "Interreg.sln"
  m.verbosity = "minimal"
end

desc "Runs some tests"
xunit :tests => :build do |x|
  x.path_to_command = "lib/xunitnet/xunit.console.clr4.x86.exe"
  x.assemblies "src/UnitTests/bin/Release/Unit.dll",
    "src/Integration/bin/Release/Integration.dll"
  x.html_output = "doc"
end

desc "Publishes web application"
msbuild :publish=>:tests do |m|
  m.properties={:configuration=>:Release}
  m.targets [:ResolveReferences, :_CopyWebApplication]
  m.properties={
   :webprojectoutputdire=>"c:/temp/outputdir/",
   :outdir=>"c:/temp/outputdir/bin/"
  }
  m.solution="src/UI/UI.csproj"
end

So ... Was fehlt? Wie es funktioniert?

Wie asp.net Web-Anwendung w / o Visual Studio verpacken?

War es hilfreich?

Lösung

Installieren Sie die Windows 7 SDK auf Ihrem CI-Server, der alles, was Sie .NET 4 Anwendungen auf dem CI-Server aufbauen müssen enthält. Dies wird alle Abhängigkeiten kümmert, dass Sie in dem GAC müssen, und verhindert, dass Sie mit manuell eine Reihe von Dateien von Ihrer Entwicklungs-Workstation kopieren.

http://msdn.microsoft.com/en-us/windows /bb980924.aspx

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