سؤال

أنا لم تستخدم CI الأدوات من قبل ، ولكن من ما قرأت, أنا لست متأكد من أنها لن تقدم أي فائدة منفردا المطور ليس كتابة مدونة كل يوم.

أولا - ما هي فوائد CI تقديم أي مشروع ؟

الثاني - الذي يجب استخدام CI?هل يستفيد جميع المطورين ؟

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

المحلول

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

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

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

كما منفردا مبرمج, الأمر أساسا إلى الانضباط.باستخدام CI هي مهارة مفيدة ، ولكن كنت ترغب في تجنب وضع أي العادات السيئة التي لا تترجم إلى بيئة فريق.

نصائح أخرى

وغيرها من الناس قد لاحظ ، CI لا لها مزايا منفردة المطور.ولكن السؤال عليك أن تسأل نفسك ؛ هل يستحق النفقات العامة ؟ إذا كنت مثلي ، فإنه من المحتمل أن يستغرق ساعة أو ساعتين مجموعة CI نظام المشروع ، فقط لأنني سوف تضطر إلى تخصيص الخادم ، الشبكات ، و تثبيت البرنامج.تذكر أن CI النظام فقط سيتم حفظ لك بضع ثوان في كل مرة.منفردة المطور, هذه الأوقات من غير المحتمل أن تضيف ما يصل إلى أكثر من الوقت الذي استغرقه للقيام CI الإعداد.

ومع ذلك ، إذا لم يسبق اقامة CI النظام من قبل ، وأنا أوصي به فقط من أجل تعلم كيفية القيام بذلك.أنها لا تستغرق وقتا طويلا أنه لا يستحق تجربة التعلم.

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

ومن الواضح أن هذا هو قيمة للغاية عندما يكون لديك فريق من commiters ليس كل منهم مجتهدا للتحقق من التغييرات كسر.كما منفردا المطور, ليس تماما قيمة.ويفترض تشغيل وحدة الاختبارات ، حتى ربما اختبارات التكامل.ومع ذلك, لقد رأيت عددا من المناسبات حيث المطور ينسى الاعارة ملف من مجموعة.

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

إذا كنت بحاجة إلى دعم متعددة المجمعين ثم إنه من المفيد أن CI بناء النظام أن تفعل كل ذلك في حين كنت مجرد تطوير في IDE.قانون بلدي يبني مع Vc6 خلال VS2008 في x86 و x64 يبني على VS2005 & 8, حتى 7 يبني في المشروع في تكوين المشروع...وجود CI النظام يعني أنه لا يمكن أن تتطور في واحد IDE والسماح CI نظام إثبات أن كل من المجمعين أنني الدعم لا يزال بناء.

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

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

  • إذا كنت قد نسيت أن أطمئن بعض اللازمة الملف, مستودع يحتوي على نسخة مكسورة ، حتى لو كان يعمل على الجهاز الخاص بك.CI أن الكشف عن هذه الحالة.
  • إذا كان الخاص بك CI-server يعمل على جهاز آخر ، فإنه يمكن أن تشير إلى تبعيات على بناء البيئة.يعني بناء جميع الاختبارات يمكن أن تعمل على dev-مربع ، ولكن على جهاز آخر بعض التبعيات لا تتحقق بناء فواصل.
  • يبني اليومية يمكن أن تشير إلى أن البرامج القديمة لا تعمل مع أحدث ترقية نظام التشغيل/مترجم/مكتبة...
  • إذا كان الخاص بك CI-نظام أرشيف بناء التحف يمكنك بسهولة الحصول على توزيع نسخة قديمة من هذا البرنامج.
  • بعض CI لطيفة واجهة تظهر لك المقاييس عن بناء صلات التلقائي إنشاء وثائق وأشياء من هذا القبيل.

نستخدم CI النظام الإفراج يبني (كالعادة التلقائي "على ارتكاب" يبني).

كونها قادرة على انقر فوق الزر الذي ينطلق بيان بناء تلك الخطوات من خلال جميع عمليات الافراج عن الإعداد:

  • بسرعة (أنا يمكن أن تذهب مباشرة مع أشياء أخرى ، كما أنه يعمل على جهاز منفصل حتى لا يتباطأ لي أسفل) ؛
  • تكرار (لا تنسى أي شيء, بما في ذلك نسخ الإعداد إلى الإفراج عن مجلد إخطار كل شخص يحتاج إلى معرفة)
  • يمكن الاعتماد عليها (أي أخطاء ، على عكس الإنسان!).

في بيئة رشيقة ، حيث تتوقع أن يكون تقديم برنامج عمل كل 2-4 أسابيع, هذا هو بالتأكيد يستحق بعد ، حتى في فريق من 1.

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

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