خادم البناء والاختبار الآلي الحيادي اللغة لمشاريع متعددة [مغلق]

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

سؤال

لتسهيل اختبار الإصدار الخاص بنا، نحن نبحث عن نظام لبناء و(وحدة) مشاريعنا البرمجية تلقائيًا على مجموعة متنوعة من البنى.القيود لدينا هي:

  1. الكود المراد إنشاؤه مكتوب بعدة لغات، بما في ذلك Python وJava وC.
  2. لدينا العديد من بنيات النشر المتميزة.
  3. لدينا العديد من المشاريع التي نرغب في بنائها واختبارها بشكل مستقل.
  4. نظام التحكم بالمصدر لدينا هو نظام تخريبي، ويجب أن يتكامل النظام مع ذلك.
  5. ومن الأفضل أن يكون الحل مفتوح المصدر.

لقد نظرنا إلى:

  • اصطناعية + الأستمرارية:لطيفة في بعض النواحي، ولكنها تتمحور بشكل كبير حول Java، مع دعم محدود أو غير موجود لـ Python.

  • بيلدبوت:يمنحنا هذا جميع الوظائف التي نحتاجها تقريبًا، باستثناء أنه لا يدعم مشاريع متعددة، وهو ما يمثل عقبة بالنسبة لنا.

ماذا تنصح؟ماذا تستخدم؟

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

المحلول

هل نظرت إلى هدسون؟لقد استخدمتها في مشاريع .Net وحققت الكثير من النجاح على الرغم من أنها أداة تتمحور حول Java إلى حد ما.وهو يدعم التخريب ولديه مجتمع إضافي نشط ومتنوع يمكّنه من العمل مع الكثير من اللغات المختلفة.إنه مفتوح المصدر ويعمل على العديد من الأنظمة الأساسية. لقد وجدت أنه من السهل نسبيًا تكوينه وإدارته.

نصائح أخرى

نلقي نظرة على TeamCity.يعمل مثل السحر بالنسبة لنا.

منذ أن ابتعدت عن buildbot، كنت أستخدم نظام تثبيت السرعة وكنت سعيدًا به إلى حد ما.تتكون مشاريعي الحالية من إنشاء c++ & Ruby (مع بعض امتدادات c) لمعماريات متعددة والمشكلة الوحيدة هي أن معظم الميزات تتطلب ant.وتقوم حاليًا نسخة واحدة من cc ببناء ما يقرب من 40 مشروعًا مختلفًا.تتكون مراحل البناء التي نقوم بها من تشغيل اختبارات الوحدات، وبعض الاختبارات الوظيفية، والحصول على تغطية التعليمات البرمجية وإعداد تقرير عنها، وتحديث قاعدة بيانات الحزمة، وتكامل irc، وإنشاء حزمة البرامج وتحديث المستودع (ديبيان).

الشكوى الوحيدة هي أن معظم الميزات الأكثر روعة تتطلب أن يتم إنشاء (على الأقل عندما تكون داخل حلقة إنشاء cc) مع النمل.

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

أنا مطور على مثبت السرعة وأنا أعمل لدى Urbancode الذي يصنع AnthillPro, ، حتى أتمكن من التحدث إلى نقاط القوة في هؤلاء.أنا أيضًا أحد المنظمين سيتكون لذلك أنا على دراية تقريبًا جميع العروض في الفضاء.

يعد كل من CruiseControl أو Hudson من أدوات CI مفتوحة المصدر الجيدة.أجد أن CC سهلة التخصيص والتوسيع حقًا، وهناك الكثير من المكونات الإضافية التي تمت إضافتها على مدار 8 سنوات من عمرها.تعتبر هدسون أحدث وأسهل بالنسبة لمعظم الناس للبدء؛من السهل جدًا تشغيل مشروعك الأول باستخدام تكوين واجهة المستخدم الرسومية بينما يتطلب CC العبث في ملفات XML.لدى Hudson أيضًا مجتمع مكون إضافي نشط ويضيف إمكانات جديدة بسرعة.

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

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

لماذا لا نلقي نظرة أيضا على مصنع سي.اي.

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