سؤال

أرغب في إنشاء VM في Virtual PC 2007 لاستخدامه كبيئة تطوير/صندوق رمل لتطبيق ASP.NET موجود في Visual Studio 2005/SQL Server 2005 (و VSS للتحكم في المصدر).

أفكر في أنني بحاجة إلى إنشاء نسخة "قاعدة" من البيئة (مع نظام التشغيل ، والمرئية الاستوديو ، وخادم SQL) ، ثم نسخ ذلك إلى إصدار "عمل" أقوم بتطويره الفعلي. سأكون كذلك. مشاركة هذا VM مع واحد أو اثنين من المطورين الذين سيعملون على أجزاء مختلفة من التطبيق.

هل هذه فكرة جيدة؟ ما هي أفضل طريقة للحصول على قواعد التطبيق/البيانات الخاصة بي داخل وخارج VM والتغييرات التي أجريها في VSS؟ هل هي مجرد نسخة من موقع المضيف إلى مشاركة VM والعودة مرة أخرى؟ كيف أبقي كل شيء متزامن؟

شكرًا!

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

المحلول

إنها ليست فكرة سيئة ، إذا كنت تعتقد أن هناك حاجة لذلك.

أفعل شيئًا مشابهًا عندما أحتاج إلى تطوير تطبيق Windows لأنه من الجيد أن يكون لديك بيئة نظيفة. وبهذه الطريقة ، لا أضيف عن طريق الخطأ إشارة إلى شيء لم يتم تضمينه بالضرورة في إطار .NET. يجبرني على تثبيت أي مكونات طرف ثالث أثناء تطويرها وتوثيقها. وبهذه الطريقة ، يمكنني توقع المتطلبات المسبقة ، والتأكد من توثيقها قبل تحميل البرنامج على جهاز الكمبيوتر الخاص بالمستخدم وأتساءل عن سبب عدم عمله.

فقط تأكد من أن جهاز الكمبيوتر الخاص به يمكنه التعامل مع الحمل الإضافي. جهاز الكمبيوتر الرئيسي الخاص بي هو معالج ثنائي الأساس مع ذاكرة الوصول العشوائي 4 جيجابايت. أكرس 2 جيجابايت لأي جهاز كمبيوتر افتراضي أخطط لاستخدامه كبيئة تطوير حتى لا أضغط على الكثير من الأداء.

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

نصائح أخرى

أود أن أقترح عليك بجدية الأشياء التالية:

  1. استخدم حل "خادم" ، بدلاً من حل سطح المكتب. هذا أكثر منطقية إذا كنت ترغب في مشاركة بيئة VM مع المطورين الآخرين.
  2. استخدم منتجات VMware بدلاً من Microsoft.

من هاتين النقطتين ، يجب عليك استخدام خادم VMware ESX والمنتجات ذات الصلة. إذا كنت لا ترغب في / لا يمكنك استثمار الأموال فيه ، فهناك نسخة مجانية من هذا المنتج: http://www.vmware.com/go/getesxi/, ، لكنني لم أستخدمها أبدًا.

سواء اخترت استخدام إصدار Enterprise من ESX Server أو الإصدار المجاني ، أقترح عليك وضع قسم تكنولوجيا المعلومات في مؤسسة تكنولوجيا المعلومات الخاصة بك.

يمكنك استخدام ميزة Snapshot (أو أي شيء يطلق عليه) - يتم حفظ chagnes إلى "النظام" في ملف دلتا بحيث يمكنك بسهولة العودة إلى حالة السابقة من الكمبيوتر الافتراضي. لديها بعض عقوبة الأداء. وبهذه الطريقة ، لا يتعين عليك الاحتفاظ بنسخ القاعدة والعمل.

يمكنني استخدام أجهزة الكمبيوتر الافتراضية لجميع تطوير Windows الخاص بي. الشركة التي أعمل معها لديها منتجات Legacy في FoxPro والمنتجات الحالية في .NET ، لذلك لدي بيئتان تم إعدادهما: 1 - Windows XP مع FoxPro و VSS - يمكنني الوصول إلى VSS مباشرة من هذه الصورة ولا يدخل الكود أبدًا آلات أخرى في بلدي الشبكة (أعمل عن بُعد) 2 - Windows 7 مع VS2008 وجميع البتات والقطع المرتبطة اللازمة لتطوير برنامج .NET لدينا (بما في ذلك TFS). هذا هو الجهاز الذي أستخدمه كل يوم - لدي جهاز كمبيوتر سطح مكتب لحمي ، لذا فإن II AM قادر على إعطاء ذاكرة الوصول العشوائي 4GB VPC ويعمل بأسرع كمبيوتر "عادي".

لديّ VPCs يعمل في VirtualBox وهو بنفس القدر من العروض الأخرى. إجابة سابقة ذكرت VMware ESX وهو منتج ممتاز للنشر على نطاق واسع ، ولكن إذا كنت تريد حل خادم ، فإن خادم VMware مجاني وهو منصة محاكاة افتراضية لطيفة.

إذا كنت تبحث عن طرق لتجربة التغييرات وما زلت ترغب في استخدام VPC ، فإن التراجع عن الأقراص ممتازة - فأنت تطلق الجهاز ، واخترق محتوى قلوبك وعندما تغلق ، يمكنك اختيار حفظ الجلسة بأكملها أو تجاهلها.

بالنسبة لي ، تعد أجهزة الكمبيوتر الافتراضية وسيلة ممتازة لإعداد / هدم بيئات التطوير بسرعة وأود أن أواجه صعوبة في العودة إلى استخدام آلة واحدة لجميع عملي.

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