سؤال

أود أن أسألك عن بيئة البناء الآلية التي تعتبرها أفضل، بناءً على الخبرة العملية.أخطط للقيام ببعض أعمال التطوير لـ .Net وبعض تطوير Java، لذا أرغب في الحصول على أداة تدعم كلا النظامين الأساسيين.

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

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

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

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

المحلول

ولقد عملت على ومع أدوات التكامل المستمر منذ تلك التي ولدت تحكم أوتوماتيكي للسرعة (نسخة جافا). لقد حاولت تقريبا كل منهم في مرحلة ما. لم أكن أكثر سعادة من أنا مع TeamCity. وهو بسيط جدا لانشاء ولا يزال يوفر قدرا كبيرا من الطاقة. الصفحة إحصاءات البناء التي تظهر بناء مرات، وحدة اختبار العد، وتمرير معدل الخ هو لطيف جدا. الصفحة الرئيسية المشروع TeamCity هو أيضا قيمة للغاية. للمشاريع. NET بسيطة يمكنك فقط اقول TeamCity حيث الحل هو وما المجالس لها اختبارات وهذا هو كل ما تحتاج (ما عدا موقع التحكم بالمصادر). وقد استخدمنا أيضا بعض النصوص MSBuild معقدة معها، وذلك بناء تسلسل. لقد ذهبت أيضا من خلال اثنين من ترقيات TeamCity وكانوا غير مؤلم.

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

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

وتحرير: نحن ترقية فقط لTeamCity 5.0 قبل بضعة أسابيع، وكان ترقية مؤلمة أخرى. انها تسمح لنا الاستفادة من تحسين قدرات مدونة التغطية والدعم GIT. ونحن أيضا الآن باستخدام بناء الشخصية واختبار ما قبل ارتكاب الميزات التي كانت لفترة من الوقت. أنا بس أود أن تحديث الإجابة تشير إلى أن TeamCity يبقي تحسين ولا تزال سهلة الاستخدام.

نصائح أخرى

لقد كنت/أنا معجب كبير بـ CC.NET.لدينا حاليًا 5 مشاريع في CruiseControl، وهي تعمل بشكل رائع.قد تكون كتابة ملفات التكوين باليد أمرًا مؤلمًا ولكن لا بأس بذلك.

لكن.

بعد كونا:التكامل المستمر واختبار أفضل للوحدة تسجيل الشاشة (أول 1/3 عن TeamCity) سوف أتحقق من TeamCity أيضًا.أنا أحب لوحة معلومات اختبار الوحدة المتكاملة وواجهة التكوين.

أظن الجميع يجب أن تشاهد هذا الفيديو قبل اختيار CC.NET أو TeamCity.

ملاحظة.:آمل أن يكون هناك فيديو CC.NET قيم على الشبكة أيضًا.

وخدمة بلدي CI المفضلة حتى الآن هو هدسون. من السهل اقامة وصيانة، والكثير من الرسوم البيانية لطيفة لإظهار الاتجاهات للمطورين وغير المطورين، ومجانا.

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

وقال ذلك، TeamCity قوية وحرة لكثير من الاستخدامات، ولها ميزة واحدة القاتل: تشغيل عن بعد. يمكنك "قبل ارتكاب" الشيك في مباشرة من IDEA أو الكسوف، تشغيل واحد أو أكثر بناء تكوينات على الخادم TeamCity، وفقط تطبيق التغييرات إذا كان الإنشاء الناجح (على سبيل المثال، يجمع وجميع الاختبارات تمر).

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

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

ولقد استخدمت كل من CC.net وTeamCity. أنا المكلفة إعداد وتركيب TeamCity لمنظمتي (5 المطورين). تستخدم مؤسستنا بعض الممارسات والأدوات شائعة (على الأقل، للمؤسسات من حجمنا)، مثل بالضروره عن التحكم بالمصادر وكلاء بناء متعددة تعمل على أنظمة التشغيل غير المتجانسة، والتي تسببت في بعض الصداع الإعداد الأولي. ومع ذلك، كان الدعم عبر البريد الإلكتروني على الاطلاق أرفع في الحصول على كل شيء اقامة. تلقيت إجابات على أسئلتي الغبية في دقائق حرفيا.

واجهة بديهية واستجابة، وكذلك ميزة معبأة. المنتج يشعر مكلفة للغاية. التكوين أمر سهل، واجهة على شبكة الإنترنت هو intellegent بما فيه الكفاية لتحديث نفسها دون أي استئناف للخدمات وكلاء أو خادم، أو حتى منعش الصفحة.

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

وأنا أوصي TeamCity لكل من يبحث عن الخادم التكامل المستمر، أو أي خادم بناء، حقا.

ودون الرغبة في رمي أدوات بديلة عليك :-)

وهدسون هو بديل مفتوح المصدر عظيم، ولقد استخدمت CC وCC.net، وأنا أعترف أنا لا أعتقد أنهم أدوات رائعة. أنا يدرس التحول إلى هدسون كما apears الأسهل كثيرا على الإعداد والمحافظة عليها.

https://hudson.dev.java.net/

وتأكد من أن النظام الذي تقرر على جداول لعدد من المشاريع التي سوف تحتاج إليها للتعامل مع ...

وأنا استخدم CruiseControl.Net لكنني لن أوصي به لبناء الكثير من المشاريع ... لدي (ربما غريب قليلا) الترتيب حيث لدي العديد من المكتبات ++ C ثابتة وهو ما يؤلف في التطبيقات. تعتمد كل مكتبة على المكتبات الأخرى والتطبيقات في سحب مجموعة من يبس وبناء. كل ليب يحتوي على جناح الاختبار. كل التطبيق يحتوي على جناح الاختبار. أبني لمدة 5 المجمعين وأشكال مختلفة من (ويندوز) المنصات.

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

وبطبيعة الحال، انها مفتوحة المصدر، لذلك يمكنك إصلاحه ... وأنا متأكد من أنها على ما يرام بالنسبة لأعداد صغيرة من المشاريع غير مترابطة.

لمزيد من التفاصيل عن المشاكل التي واجهتها وبعض بقع لCC.Net نرى هنا http://www.lenholgate.com/archives/cat_ccnet.html

ولقد تم مؤخرا إعداد سم مكعب صافي. بل هو تطبيق كبيرة ولكن لا يتطلب قليلا من الصبر. وسوف يتم تحرير ملفات التكوين في الكثير المفكرة :)

لقد كان حول بعض الوقت حتى دورته دعما جيدا ويمكنك العثور على عادة شخص قد فعلت ما wantto تفعل من قبل. واجهة على شبكة الإنترنت هو صافي وكذلك التي كان زائد بالنسبة لنا ونحن متجر مايكروسوفت.

وأنا طعاما المستخدمة TeamCity ولكن سمعت عدد غير قليل من التوصيات منها، ويبدو جميلا.

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

وعلاوة على ذلك، وثائق CruiseControl، أن لديها بعض المعلومات المفيدة وكذلك .

وأنا لم يكن لديك خبرة مباشرة مع TeamCity. على الرغم من أن في مرحلة ما قبل الاختبار ارتكاب ميزة تبدو مثيرة للاهتمام بما فيه الكفاية.

وأداة CC الأخرى التي قد تعطي مظهرا غير الخيزران من Atlassian. ومن الكثير أكثر سهولة لإعداد واجهة أجمل. على الرغم من أنها ليست مرنة مثل ما تقدم CruiseControl.

وثمة خيار ثالث قد ترغب في النظر فيما يلي: Thoughtworks "كروز. انها بنيت على CruiseControl، لكنه لم يقدم الكثير من الميزات، من الأسهل الإعداد، وغيرها، وما إلى ذلك ليس مجانا (أو مفتوحة المصدر).

http://studios.thoughtworks.com/cruise-continuous-integration

ولقد تم استخدام Teamcity للسنوات 1 ونصف السنة الماضية، وبعد تجربة رائعة. لقد متكاملة لعدد من المشاريع. NET و Java و استخدام أدوات مثل MSBuild، مخضرم الخ وجدت Teamcity بسيط جدا لانشاء والتعامل معها. لقد تمكنت من الحصول على CI تشغيل لبعض المشاريع SQL كما كذلك التي كان قليلا من كابوس الذي كان يمكن أن يكون أسوأ من ذلك مع أدوات المنسب أخرى.
ترقية مؤخرا إلى Teamcity 8.0.6 الذي كان غير مؤلم. كما يوفر Teamcity على REST API وهو أمر مفيد جدا لبعض السيناريوهات. إذا كنت تستخدم بوويرشيل لأتمتة يبني عددا من النصوص التكامل Psake / Teamcity تتوفر على <لأ href = "https://github.com/JamesKovacs/psake/wiki/How-can-I-integrate-psake-with- فريق سيتي؟ " يختلط = "نوفولو"> جيثب

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