الصفحة الرئيسية » howto » كيفية إنشاء تلقائيا بناء النسخ الاحتياطية في Visual Studio

    كيفية إنشاء تلقائيا بناء النسخ الاحتياطية في Visual Studio

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

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

    كيف تعمل

    حلنا بسيط: كلما حدث حدث بناء ناجح ، لدينا تشغيل البرنامج النصي الذي يقوم بإنشاء أرشيف مضغوط (اختياريا وضع علامة و timestamped) من كافة الملفات في مجلد مشروع Visual Studio منها.

    هذا هو. كل ما عليك القيام به هو اتباع الخطوات أدناه.

    إعداد النسخ الاحتياطية التلقائية للبناء

    أولاً ، ستحتاج إلى تنزيل واستخراج ملف البرنامج النصي الدفعي من الرابط الموجود أسفل المقالة. بالإضافة إلى ذلك ، ستحتاج إلى أداة سطر الأوامر 7-Zip (يتم تضمين هذا مع الإصدار "الكامل" من البرنامج النصي Project Build Backup ، أو يمكنك تنزيله بشكل منفصل). في مثالنا ، استخرجنا هذه الملفات إلى الدليل "C: \ Tools" ، لكن أي موقع سيعمل.

    افتح خصائص مشروع Visual Studio الخاص بك ، بالنقر المزدوج فوق My Project ضمن المشروع المعني.

    في خصائص المشروع ، انتقل إلى قسم ترجمة.

    في الركن السفلي الأيسر ، انقر على زر إنشاء أحداث.

    في حالتنا ، نريد عمل نسخة احتياطية بعد إجراء ترجمة ناجح. تأكد من أن لديك الخيار لتشغيل الحدث post-build "On build build" ثم انقر فوق الزر Edit Post-build.

    يقوم الأمر أدناه بإنشاء نسخة احتياطية بناء فقط لترجمة تكوين الإصدار (وهذا ما يتحقق منه شرط IF) ، فمن الناحية الواقعية ، ربما لا نريد عمل نسخة احتياطية من كل تصميم Debug / testing. بالإضافة إلى ذلك ، سيتم إلحاق الطابع الزمني الحالي (/ D التبديل) مع ملف النسخ الاحتياطي قيد تنسيق ملف 7z (/ 7z) بدلاً من الرمز البريدي. من خلال إضافة / T "$ (ConfigurationName)" كمعامل ، نقوم بإلحاق نوع البناء (الإصدار في هذه الحالة) باسم ملف النسخ الاحتياطي.

    IF "$ (ConfigurationName)" == "Release" CALL C: \ Tools \ ProjectBuildBackup.bat "$ (SolutionDir)" "$ (ProjectDir)" "$ (ProjectName)" / T "$ (ConfigurationName)" / D / 7Z

    باستخدام زر وحدات الماكرو ، يمكنك الحصول على معلومات محددة لمشروع Visual Studio prefill بحيث لا تكون هناك حاجة إلى ترميز. يمكنك ضبط هذا الأمر حسب الحاجة (خاصةً موقع ملف الدُفعات) ، ولكن من المحتمل ألا تحتاج المعلمات الثلاث الأولى إلى تغيير.

    من المهم أن تضع في اعتبارك أن عمليات ما بعد الحدث تعمل بغض النظر عن تكوين المشروع المحدد. لهذا السبب نحتاج إلى إضافة IF "$ (ConfigurationName)" == "Release" statement - وإلا سيحدث إجراء النسخ الاحتياطي على كل حدث بناء ناجح.

    بمجرد الانتهاء من الأمر وتطبيقه ، يجب أن تظهر سلسلة الأمر في قسم أحداث ما بعد البناء.

    لاحظ أنه في حين أن أمر "CALL" غير مطلوب تقنيًا ، إلا أنه يوصى به بشدة ، كما لو تم إغفال ذلك ، فقد لا يتم تنفيذ أية أحداث تمت إضافتها بعد ذلك.

    الآن عندما تقوم بتشغيل تجميع / إنشاء مع المشروع الخاص بك في تكوين الإصدار ، سترى الإخراج من عملية النسخ الاحتياطي بناء.

    [...]

    ينشئ كل إنشاء إصدار ناجح أرشيفًا جديدًا تم ضبطه زمنيًا مع مجلد الحل في دليل فرعي ، "Builds" (والذي يمكن تعريفه بشكل مخصص باستخدام مفتاح التبديل / O إذا لزم الأمر).

    محتويات كل نسخة احتياطية هي ملفات Visual Studio كاملة المصدر - المصدر ، إعدادات التكوين ، الثنائيات المجمعة ، وجميع - مما يجعل هذه نقطة حقيقية في وقت النسخ الاحتياطي.

    لا بديل لنظام التحكم في النسخة الكاملة

    في الختام ، نحن نريد فقط أن نؤكد أن هذه الأداة لا تهدف إلى استبدال نظام التحكم الكامل في النسخ. إنها ببساطة أداة مفيدة للمطورين لإنشاء لقطات من شفرة المصدر الخاصة بالمشروع بعد كل عملية تجميع.

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

    الروابط

    تنزيل Project Build Backup Script

    قم بتنزيل أداة 7-Zip Command Line (ملاحظة - يتم تحميل الأداة المساعدة 7za أيضًا مع تنزيل من البرنامج النصي Project Build Backup)