ما الأداة التي يجب استخدامها للإنشاءات الليلية التلقائية؟

StackOverflow https://stackoverflow.com/questions/37666

  •  09-06-2019
  •  | 
  •  

سؤال

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

لقد اعتدت على استخدام FinalBuilder منذ بضع سنوات وأعجبني ذلك كثيرًا ولكني لست متأكدًا مما إذا كانوا يدعمون ميزات مثل الإنشاءات الليلية ورسائل البريد الإلكتروني.

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

المحلول

في عملي، نستخدم CCNET، ولكن مع إمكانية تسجيل الوصول أكثر من ليلاً - على الرغم من أنه من السهل تهيئته لأي منهما أو لكليهما.

يمكنك بسهولة إعداد اختبار الوحدة ليتم تشغيله على كل تسجيل وصول أيضًا، واختبار FXCop، وعدد كبير من المنتجات الأخرى.

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

ومع ذلك، بدأنا مع CCNET، وقمنا بتطوير العديد من المنتجات بشكل أكبر من أن ننظر إلى Team City في الإصدار المجاني ونحن سعداء جدًا بما لدينا.

تتضمن الميزات التي تساعد في CCNET ما يلي:

  • التكوين المستند إلى XML - يمكنك عادةً نسخ ولصق معظم ما تحتاجه.
  • ستتمكن بشكل أو بآخر من توصيل البرنامج النصي Treesurgeon الخاص بك باعتباره البرنامج النصي للبناء الخاص بك، وتوجيه CCNET إلى ذلك كمهمة قابلة للتنفيذ لتشغيل التجميع.
  • الكثير من الوثائق ومن السهل جدًا إعداد nunit وncover وfxcop وما إلى ذلك.
  • تطبيق شريط المهام الذي سيتيح لك معرفة حالة مشاريعك في أي وقت، ويمكنه أيضًا إرسال بريد إلكتروني أو الاحتفاظ بموجز RSS بنفس المعلومات.

لكنني سأختار بالتأكيد تشغيل بناء CI عند كل تسجيل وصول - في الغالب سيتم تشغيل اختبارات الوحدة قبل تسجيل الدخول، ولكن دع خادم CCNET يقوم بتشغيل أي تطبيقات/تجميعات قد يكون لها تبعيات على التجميع الذي نريده. يتم إعادة تسجيل الوصول، ويتم إعادة بنائها وإعادة اختبارها في كل تسجيل وصول.

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

(يوجد موضوع آخر هنا حيث قمت بنشر نفس الشيء إلى حد كبير/مع بعض التعديلات - ولكن بعض التعليقات الأخرى قد تساعد أيضًا! الإنشاءات الآلية)

تعديل للإضافة:يمكنك بسهولة إعداد نظام النشر الخاص بك لـ CCNET، وهناك عدد كبير من منشورات المدونات للمساعدة، ويمكن بالفعل إعداد إشعارات البريد الإلكتروني بشكل دقيق إلى حد ما، إما في كل النجاحات، أو في كل الإخفاقات، عندما تتغير من النجاح إلى تفشل، الخ.هناك أيضًا خدمة RSS مدمجة، ويمكنك أيضًا إعداد الإشعارات الخاصة بك للأنظمة الأخرى.

نصائح أخرى

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

يمكنك أيضًا استخدام CCNet لتشغيل البناء عند الحاجة وجعله ينفذ FinalBuilder للبناء.يمكنك بعد ذلك أن تقرر ما إذا كان يجب على FinalBuilder أو CCNet إرسال بريد إلكتروني.

أخيرًا، لدى FinalBuilder إصدار خادم يشبه إلى حد ما CCNet من حيث أنه أداة تكامل مستمرة تستخدم FinalBuilder.يرى http://www.finalbuilder.com/finalbuilder-server.aspx

بالطبع أكبر ميزة لـ CCNet هي أنها مجانية ومفتوحة المصدر.

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

لقد بدأنا للتو في الاستخدام هدسون هنا في المكتب.

إنه مجاني ومفتوح المصدر، ويحتوي على واجهة مستخدم سهلة الاستخدام للغاية.بالإضافة إلى أن هناك الكثير من الخيارات والمكونات الإضافية المتاحة.

لقد قمت بتشغيله في غضون دقائق بعد تثبيته.جميع المطورين الآخرين هنا يحبونه.

بشكل عام، إنه حل أنيق جدًا للتكامل المستمر أو الإصدارات الليلية.

لقد بدأت مؤخرًا في استخدام CruiseControl.NET (http://confluence.public.thinktworks.org/display/CCNET/Welcome+to+CruiseControl.NET).إنه يعمل بشكل جيد إلى حد معقول، على الرغم من أن التكوين قد يكون أسهل.إن CruiseControl.NET مجاني ومفتوح المصدر، ويبدو أنه يتكامل مع معظم الأدوات القياسية، على الرغم من أنني شخصيًا استخدمته فقط مع CVS وSVN وNUnit وMSBuild.

لونتبيلد

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

بيلدبوت مفتوح المصدر وقوي جدًا أيضًا.يجب عليك إلقاء نظرة على ذلك.

تتالي يدعم القيام بالبناء على كل تغيير تم الالتزام به في المستودع.

لا أوصي بإجراء عمليات إنشاء ليلية فقط - فهذه نافذة طويلة جدًا يمكن أن ينزلق فيها فاصل البناء قبل الإبلاغ عنه.

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