سؤال

في العمل، لدينا خادم Windows 2003 مع تثبيت IIS وSubversion.نستخدمها للنشر والاختبار محليا مواقعنا ASP.NET.كل مبرمج لديه برنامج Tortoise مثبت على جهاز الكمبيوتر الخاص به ويمكنه تحديث/إرسال المحتوى إلى الخادم.استضافة المستودعات تعمل بشكل جيد.لكن الملفات المحفوظة في تلك المستودعات تحتاج بعد ذلك إلى نسخها إلى IIS المحلي (الدلائل الافتراضية).

ما هي الطريقة السهلة لنشر مستودعات التخريب هذه على IIS المحلي لدينا؟

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

echo off
setlocal

:: Localize the working copy where IIS points)
pushd E:\wwwroot\yourapp\trunk
:: Update your working copy
svn update

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

المحلول

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

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

اقترح آخرون في التعليقات استخدام التصدير بدلاً من الخروج.يمكن أن ينجح ذلك أيضًا، ويتجنب فوضى .svn، لكن له عيبان.أولاً، يجب عليه إعادة تنزيل المحتويات بالكامل في كل مرة، وليس فقط الملفات المعدلة (نظرًا لأنه لم يحتفظ بـ .svn dir ليتذكر ما يحتوي عليه).إذا كان لديك الكثير من الملفات، فسيكون هذا أبطأ بكثير.ثانيًا، يستبدل التحديث الملف تلقائيًا (يكتب الإصدار الجديد بتنسيق ‎.svn/tmp، ثم ينقله إلى مكانه).يقوم التصدير بكتابة الملف تدريجيًا إلى وجهته أثناء تنزيله.وهذا يعني أن التصدير قد يؤدي إلى تسليم ملف غير مكتمل إلى شخص قام بتصفحه في الوقت الخطأ.

نصائح أخرى

SVN لا يدعم IIS؛ومع ذلك يمكنك قم بتشغيل خادم svnserve المستقل كخدمة Windows.

هناك إدخال الأسئلة الشائعة حول SVN حول هذا الموضوع، وهذا بلوق على مدونة برامج الدوار قد يكون مفيدًا أيضًا.

تحديث:بعد توضيحك، أرى أن ما تبحث عنه هو طريقة لتحديث الكود تلقائيًا على الخادم بعد تسجيل وصوله.تفحص CruiseControl.NET, ، بعد الاطلاع على البرنامج التعليمي التكامل التخريب يبدو أنه يجب أن تفعل ما تريد.

التحديث 2:يصف هذا البرنامج التعليمي دمج Subversion وCruiseControl.NET وNant.

ربما يستطيع SVNIsapi حل المشكلة (http://www.svnisapi.com).لأنه يستخدم فقط تثبيت IIS، وبالتالي لا تحتاج إلى خادم APACHE أو خدمة SVNSERVER.ثانيًا، يجب أن يكون من الممكن تكديس البرنامج الإضافي ASP.NET ISAPI على معالجة SVNISAPI، بحيث يتم تفسير صفحة ASP.NET (.aspx) بعد القراءة من المستودع.

الهتافات باولو

يمكن استخدام الاستخدام المجاني خادم مرئي SVN لتثبيت Subversion بسرعة باستخدام الواجهة الأمامية لـ Apache.كما أن لديها أداة إضافية لطيفة لـ MMC لإدارة الخادم والمستودعات.

ستتمكن بعد ذلك من الوصول إلى التخريب باستخدام HTTP أو HTTPS، ولكن يجب أن يكون رقم المنفذ مختلفًا عن الرقم الذي يستخدمه IIS المحلي (المنفذ الافتراضي لخادم Visual-SVN هو 8080).

إذا كنت تريد حقًا الوصول إلى المستودعات باستخدام منفذ IIS المحلي رقم 80، فيمكنك المحاولة SVN-IIS والذي يعمل كجسر بين IIS وApache.لم أجرب هذا بنفسي بالرغم من ذلك.

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