سؤال

أعتقد أن العنوان يلخص ذلك.أريد فقط أن أعرف لماذا يكون أحدهما أفضل لبناء التكامل المستمر لمشاريع Java من Svn.

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

المحلول

كملتزم بشركة CruiseControl لفترة طويلة و شخص لم يستخدم هدسون مطلقًا، أنا متحيز جدًا، لكن رأيي في الأمر هو:

يعد تشغيل Hudson أسهل بكثير (في جزء كبير منه من خلال واجهة ويب لطيفة) ولديه مجتمع تطوير المكونات الإضافية النشط للغاية.

يحظى CruiseControl بدعم من الكثير من أشياء الطرف الثالث ويتمتع بميزة القيام ببعض الحيل الرائعة باستخدام تكوين xml مثل التكوين المسبق للمكون الإضافي و include.projects الذي يتيح لك إصدار معلومات التكوين مع المشروع.

إذا كنت ستحصل على عدد قليل فقط من التصميمات، فأعتقد أن هدسون هو الفائز الواضح.إذا كان لديك الكثير - ولا تمانع في XML - فأعتقد أن حيل تكوين XML الخاصة بـ CruiseControl أصبحت قوة حقيقية.

نصائح أخرى

أنا أتفق مع هذه الإجابة, ، ولكن أردت أن أضيف بعض النقاط.

باختصار، هدسون (تحديث: جنكينز) من المحتمل أن يكون الخيار الأفضل الآن.أولاً وقبل كل شيء، لأن إنشاء الوظائف وتكوينها ("المشاريع" في مفردات CC) أمر عادل أسرع بكثير من خلال واجهة مستخدم الويب الخاصة بـ Hudson، مقارنةً بتحرير ملف تكوين XML الخاص بـ CruiseControl (الذي استخدمناه للاحتفاظ بالتحكم في الإصدار فقط لتتبعه بشكل أفضل).هذا الأخير ليس صعبًا بشكل خاص - فهو ببساطة أبطأ وأكثر مملة.

لقد كان CruiseControl رائعًا، ولكن كما هو مذكور في منشور مدونة Dan Dyer الذي يحمل الاسم المناسب، لماذا لا تزال لا تستخدم هدسون؟, ، فهو يعاني من كونه الأول.(مثل بريطانيا، إذا صح التعبير، في وقت لاحق من الثورة الصناعية، عندما بدأ الآخرون في تجاوزها بتقنيات أحدث).

لقد استخدمنا CruiseControl بكثافة وانتقلنا تدريجياً إلى Hudson، وأخيراً استخدمناه حصرياً.و أكثر من ذلك بشدة:في هذه العملية، بدأنا في استخدام خادم CI للعديد من الأشياء الأخرى أكثر من ذي قبل، نظرًا لأن إعداد وظائف Hudson وإدارتها أمر سهل للغاية.(لدينا الآن حوالي 40+ وظيفة في هدسون:وظائف البناء والاختبار المعتادة للفروع المستقرة والتطويرية؛الوظائف المتعلقة بالإفراج (تركيب المباني وما إلى ذلك)؛الوظائف التي تستخدم بعض المقاييس (التجريبية) مقابل قاعدة التعليمات البرمجية؛تلك التي تقوم بتشغيل واجهة مستخدم (بطيئة) أو اختبارات تكامل مقابل إصدار قاعدة بيانات محدد؛وما إلى ذلك وهلم جرا.)

من خلال هذه التجربة، يمكنني القول أنه حتى لو كان لديك الكثير من التصميمات، بما في ذلك التصميمات المعقدة، فإن Hudson يعد خيارًا آمنًا جدًا لأنه، مثل CC، يمكنك استخدامه للقيام بذلك أي شئ, ، أساسًا.ما عليك سوى تكوين وظيفتك لتشغيل أي أهداف Ant أو Maven، أو نصوص Unix Shell، أو نصوص Windows .bat، بالترتيب الذي تريده.

أما بالنسبة لأشياء الطرف الثالث (ذكره هنا جيفري فريدريك) - هذه نقطة جيدة، ولكن انطباعي هو أن هدسون يلحق بالركب بسرعة، وأن هناك بالفعل عددًا كبيرًا جدًا من الإضافات المتاحة لذلك.

بالنسبة لي، هناك شيئان يمكنني ذكرهما وأفتقدهما في نظام CruiseControl هما:

  1. كانت رسائل البريد الإلكتروني التحذيرية الخاصة بالبنيات المعطلة أكثر إفادة من رسائل هدسون.في معظم الحالات، كان السبب الجذري واضحًا من بريد HTML المنسق بشكل جيد من CC نفسه، بينما مع Hudson عادةً ما أحتاج إلى اتباع الرابط إلى Hudson web UI، والنقر قليلاً للحصول على التفاصيل.
  2. ال لوحة التحكم في نظام CruiseControl هو أكثر ملاءمة، خارج الصندوق، باعتباره "مشعاع المعلومات" (يتم عرضه على شاشة عامة، أو عرضه على الحائط، بحيث يمكنك دائمًا رؤية حالة جميع المشاريع بسرعة).مع الصفحة الأولى لهدسون، كنا بحاجة إلى بعض حيل Greasemonkey للحصول على صفوف الوظائف باللون الأخضر/الأحمر بشكل جيد.

إخلاء المسؤولية البسيطة:لم أتابع مشروع CC عن كثب خلال العام الماضي أو نحو ذلك.(ولكن من أ نظرة سريعة, ، لم يتغير بأي طريقة دراماتيكية.)

ملحوظة (2011-02-03):لقد كان هدسون إعادة تسمية/متشعب مثل جنكينز (بواسطة هدسون الخالق كوهسوكي كاواجوتشي و اخرين).يبدو كما لو أن شركة أوراكل - التي تتحكم في اسم هدسون - ستحتفظ بـ "هدسون"في الجوار أيضًا، لكن توصيتي الشخصية هي الاستمرار جنكينز, بغض النظر عما تقوله أوراكل.

مشروعي الأخير، بدأنا باستخدام نظام CruiseControl.الذي هز.ثم انتقلنا إلى هدسون، التي اهتزت أكثر.الأشياء التي أعجبتني في هدسون:

  • مشاريع المنبع والمصب.لذا فإن الالتزام برمز الوصول إلى البيانات الخاص بك سيؤدي في النهاية أيضًا إلى إنشاء طبقة العرض التقديمي.

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

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

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

وهدسون هو البديل أكثر سهولة في الاستخدام في رأيي. ويمكن إعداد والحفاظ تماما عبر واجهة ويب (بغض النظر عن التثبيت الأولي من تطبيق الويب، بالطبع).

والطريقة الوحيدة يمكن أن يقال هذا عن CruiseControl هي إذا كنت تعول المدمج في محرر ملف XML.

ومع ذلك، بعد أن استخدامها على حد سواء، كنت لا تزال تفضل أي واحد على عدم وجود بناء الآلي.

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

وأنا في الآونة الأخيرة الإعداد جنكينز لبناء بورلاند BDS 2006 مشاريع الاستفادة من التخريب وأنا سعيد جدا معها. أنا لم تستخدم قط CruiseControl بعد، لذلك لا يمكن مقارنة. اقرأ بلدي بلوق وظيفة لمزيد من المعلومات.

التكامل المستمر ل مشروع دلفي مع جنكينز

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