سؤال

حصلت على خادم اختبار أود استخدامه لـ CI أيضًا.

الخطة هي إعداد Hudson التي تستمع إلى مستودع GIT ، على تغييرات جديدة في الالتزام ، تقوم بإنشاء الحل ، وتشغيل الاختبارات (التقاط الإخراج) ، وإعدادات اختبار البيئة على الويب إذا كان كل شيء يبدو أخضرًا و يظهر تشاك نوريس.

أنا أعاني من الجزء الأول (منافذ GIT مغلقة ATM ولكن هذا ليس هو الهدف من هذا السؤال) والجزء الأخير.

تم تصميم التطبيق نفسه باستخدام .NET 4.0 و ASP.NET MVC 2 RTM و BUNCH من أدوات الطرف الثالث.

في البداية - لم تستطع بناء أي شيء على الإطلاق - تم تنزيل مجموعة .NET 4.0 SDK وساعدت. بعد ذلك - لا يمكن بناء مشروع الويب - تم نسخه للتو C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\ محتويات المجلد من محطة عمل DEV الخاصة بي إلى الخادم. ثم اضطررت إلى تثبيت ASP.NET MVC2 RTM نفسه وكان الحل في النهاية يبني بنجاح.

المشكلة هي مع الخطوة الأخيرة في برنامج Build Build Script الذي أخذته منه هنا.

هنا الإخراج:

C: temp buildtest> rake -f build.rb (in c:/temp/buildtest) Microsoft (r) بناء محرك الإصدار 4.0.30319 . كل الحقوق محفوظة.

المجال -> c: temp buildtest src domain bin relext domain.dll
Infra -> c: temp buildtest src Infrastructure bin relext infra.dll
الثبات -> c: temp buildtest src prosistence bin release prosistence.dll
App -> C: temp buildtest src app bin relext app.dll
Web -> C: temp buildtest src web bin relext web.dll
ui -> c: temp buildtest src ui bin ui.dll
الوحدة -> C: temp buildtest src unittests bin relext unit.dll
التكامل -> c: temp buildtest src integration bin relext integration.dll
Xunit.net Test Test Runner (32 بت .NET 4.0.30319.1)
حقوق الطبع والنشر (C) 2007-10 Microsoft Corporation.

Xunit.dll: الإصدار 1.6.1.1521
تجميع الاختبار: C: temp buildtest src unittests bin relex

84 إجمالي ، 0 فشل ، 0 تخطي ، استغرق 9.560 ثانية
Xunit.net Test Test Runner (32 بت .NET 4.0.30319.1)
حقوق الطبع والنشر (C) 2007-10 Microsoft Corporation.

Xunit.dll: الإصدار 1.6.1.1521
تجميع الاختبار: C: temp buildtest src integration bin relex

27 المجموع ، 0 فشل ، 0 تخطي ، استغرق 34.472 ثانية

استثناء غير معبأ: System.TypeInitializationException: ألقى Type Presentalizer fo r 'Microsoft.build.commandline.msbuildapp' استثناء. ---> system.io.fi lenotfoundException: لم يستطع تحميل الملف أو التجميع 'microsoft.build.engine ، ve rsion = 3.5.0.0 ، الثقافة = محايد ، publickeytoken = b03f5f7f11d50a3a' أو واحد من dependes. لا يمكن للنظام العثور على الملف المحدد. اسم الملف: 'microsoft.build.engine ، الإصدار = 3.5.0.0 ، الثقافة = محايد ، publickeyt oken = b03f5f7f11d50a3a' في microsoft.build.commandline.msbuildapp..cctor ()

WRN: يتم إيقاف تشغيل تسجيل التجميع التجميع. لتمكين تسجيل فشل ربط التجميع ، قم بتعيين قيمة التسجيل [HKLM Software M ICROSOFT FUSION! ENABLELOG] (DWORD) إلى 1. ملاحظة: هناك بعض عقوبة الأداء المرتبطة بفشل ربط التجميع. لإيقاف تشغيل هذه الميزة ، قم بإزالة قيمة التسجيل [HKLM Software Microsoft fus ion! enableLog].

--- نهاية تتبع مكدس الاستثناء الداخلي --- في microsoft.build.commandline.msbuildapp.main () F ، [2010-09-18t00: 35: 07.728632 #2072] FATAL-: فشل MSBUILD. انظر Build Log أو تفاصيل أشعل النار مجهض! فشل MSBuild. راجع سجل البناء للحصول على التفاصيل C: /ruby191/lib/ruby/gems/1.9.1/gems/albacore-0.1.5/lib/albacore/msbuild.rb: 41: in `build_solution '(انظر التتبع الكامل باستخدام المهمة --أثر)

C: temp buildtest>

هكذا يبدو نصي ألباكور الخاص بي:

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

إذن ... ما هو مفقود؟ ما كيفية تشغيله؟

كيفية حزم تطبيق ASP.NET Web W/O Visual Studio؟

هل كانت مفيدة؟

المحلول

قم بتثبيت Windows 7 SDK على خادم CI الخاص بك ، والذي يتضمن كل ما تحتاجه لإنشاء تطبيقات .NET 4 على خادم CI الخاص بك. سيؤدي ذلك إلى رعاية جميع التبعيات التي تحتاجها في GAC ، ومنعك من الاضطرار إلى نسخ مجموعة من الملفات من محطة عمل التطوير يدويًا.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top