سؤال

لدينا خادم إنشاء تلقائي يقوم بإنشاء الكود الليلي ، وهو أمر مفيد لنا لأنه لا يمكن لأي شخص في فريقنا بناء شجرة المصدر بأكملها. في الآونة الأخيرة ، أصبح بعض أعضاء الفريق أكثر تراهن حول إصلاح أخطاء البناء على الفور ؛ في بعض الأحيان ستمر الأسابيع دون بناء ناجح. حتى أنني سمعت أحد المطورين يقول: "إن البناء قد تم كسره بالفعل ، والآن أصبح وقتًا مناسبًا لإضافة [بعض التغييرات المفاجئة]." نظرًا لأنني أعمل على الكود في الأبعد من المصب ، فأنا أعمل عادةً مع أجزاء من الشجرة والتي تكون غير متزامنة مع مستودع التعليمات البرمجية المصدر ، مما يجعل من الصعب للغاية اختبار التغييرات قبل إرسالها.

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

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

المحلول

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

نصائح أخرى

من الواضح أن هؤلاء devs بحاجة إلى العودة إلى الشكل.

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

يحتاج الجميع إلى الحصول على ملكية قاعدة الشفرة وتحمل المسؤولية.

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

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

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

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

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

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

إذا لم يكن الفريق متحمسًا بدرجة كافية للحفاظ على بناء الليالي ، فهذا شيء يجب أن ينفذه/تشجيعه من قبل المديرين.

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