إعادة نشر — محتوى من جيريمي سورجيه
أمضيت عطلة نهاية الأسبوع في قراءة أفضل المدونات حول هندسة الأدوات (Harness Engineering). الممارسات الأكثر تكراراً:
نعلم الآن أن الأدوات اليوم لا تقل أهمية عن النموذج الذي يقف خلفها
إليك التقنيات الأكثر بروزاً:
1. الذاكرة تعيش خارج السياق
المستودع ونظام الملفات وgit تعمل كذاكرة. كل جلسة تبدأ من حيث انتهت الجلسة السابقة، والسياق ليس أبداً مصدر الحقيقة
2. تعامل مع حد السياق بعناية
السياق الممتلئ بشكل مفرط يؤدي إلى الهلوسة وانخفاض الأداء. للحد من ذلك، تحتاج إلى تحميل الأدوات والمهارات عند الطلب وتفريغ المخرجات الكبيرة إلى ملف على القرص. ناهيك عن الحفاظ على بادئة موجه مستقرة للتخزين المؤقت
3. القواعد تُفرض بالكود
وليس بالموجهات. أدوات فحص الكود والاختبارات والخطافات والبيئات المعزولة تجعل القيود قابلة للتحقق. يجب أن يكون الوكيل قادراً على التحقق الذاتي (الاختبارات والسجلات ولقطات الشاشة) قبل الإعلان عن إنجاز المهمة
4. المتانة وقابلية المراقبة
احفظ نقطة تفتيش عند كل خطوة، واجعل الإجراءات قابلة للتكرار واجعل كل شيء قابلاً للتتبع. ستفشل الوكلاء، وستنقطع الجلسات أو تتوقف أحياناً. تحتاج إلى القدرة على ضمان إمكانية استئناف كل شيء بالضبط من حيث توقف
5. يجب أن تبقى الأدوات قابلة للتكيف
مع ملاحظات الإنتاج، سيتعين على أدواتك أن تتغير للتكيف. الحفاظ عليها بسيطة وقابلة للتكيف سيتيح لك التكيف بسرعة
مصادر لينكدإن
- الملف الشخصي: بيير جان دوفيفييه الملقب ساج (لينكدإن)
- المؤلف المشارك: جيريمي سورجيه (لينكدإن)
ظهر منشور أمضيت عطلة نهاية الأسبوع في قراءة أفضل المدونات حول هندسة الأدوات. الممارسات الأكثر تكراراً: أولاً على les plumes qui mordent.
الأسئلة الشائعة
الأسئلة الشائعة حول هندسة الأدوات
أسئلة المبتدئين
ما هي هندسة الأدوات
إنها ممارسة تصميم الأنظمة بحيث تجعل الأدوات — خطوط أنابيب الأدوات والحواجز وحلقات التغذية الراجعة حول الكود الخاص بك — الهندسة الجيدة المسار السهل والهندسة السيئة صعبة
لماذا هي مهمة
لأن معظم مشاكل الجودة تأتي من الاحتكاك وليس الإهمال. الأدوات الجيدة تلتقط الأخطاء مبكراً وتؤتمت الأمور المملة وتتيح للفرق الشحن بشكل أسرع مع مفاجآت أقل
ما هي الأجزاء الأساسية للأدوات
عادةً خطوط أنابيب CI/CD والاختبارات الآلية والتحليل الساكن وأدوات فحص الكود وخطافات ما قبل الإيداع وقابلية المراقبة وحواجز النشر الواضحة
هل أحتاج إلى فريق كبير للبدء
لا. ابدأ بالأساسيات — خط أنابيب CI واختبارات آلية وأداة فحص كود. يمكنك تنمية الأدوات مع نمو قاعدة الكود والفريق
ما الفرق بين الأدوات وأدوات DevOps العادية
أدوات DevOps هي البنية التحتية، وهندسة الأدوات هي التصميم المتعمد لكيفية توجيه تلك الأدوات وتقييد المهندسين يوماً بيوم. إنها تتعلق بتجربة المطور وليس فقط بالأدوات
أسئلة متوسطة
ما الفوائد الأكثر ظهوراً في الممارسة
حلقات تغذية راجعة أسرع وحوادث إنتاج أقل وجودة كود أكثر اتساقاً وتأهيل أسهل ووقت أقل يُقضى في الفحوصات اليدوية وإخماد الحرائق
ما هي المشاكل الأكثر شيوعاً التي تواجهها الفرق
خطوط أنابيب بطيئة واختبارات غير مستقرة وضوضاء كثيرة من أدوات فحص الكود والتنبيهات وحواجز صارمة جداً تحجب العمل المشروع. الإصلاح المعتاد هو الضبط من أجل السرعة والإشارة وليس إضافة المزيد من الفحوصات
كيف أتعامل مع الاختبارات غير المستقرة
تعامل مع عدم الاستقرار كأخطاء. اعزلها وأصلحها أو احذفها بسرعة وتتبع معدلات عدم الاستقرار بمرور الوقت. الاختبار غير المستقر في الأدوات يدرّب الناس على تجاهل الأدوات
ما هو أول تحسين جيد يمكن القيام به
سرّع التغذية الراجعة. اجعل CI أقل من عشر دقائق وأضف خطافات ما قبل الإيداع للتنسيق وفحص الكود. التغذية الراجعة السريعة تغير السلوك أكثر من أي وثيقة سياسة
كيف أحصل على تأييد الفريق
أظهر الوقت الموفّر والحوادث المتجنبة. يتبنى المهندسون تحسينات الأدوات عندما تجعل الأدوات يومهم أسهل وليس عندما تضيف خطوات
أسئلة متقدمة
كيف أصمم حواجز لا تبطئ الناس
اجعل المسار الآمن هو الافتراضي والمسار السريع