من فضلك تسجيل الدخول أو تسجيل لتفعل ذلك.

هل سبق لك أن انتظرت مطولاً في قائمة انتظار البناء (build queue)، فقط لترى رسالة «waiting for a starting agent» تظهر بينما تمنّيت لو أن اختبارات طلب السحب (PR tests) الخاصة بك قد بدأت للتو؟ هذا الإزعاج يتفاقم عندما يستغرق بناء سريع لدقيقة واحدة عشر دقائق في الانتظار، لأن نسخة سحابية بطيئة من Windows تستغرق وقتًا طويلاً للتشغيل.

الآن، تقدم JetBrains حلاً لهذه المشكلة عبر إضافة «Warm Agents» الجديدة لبرنامج TeamCity، وهو خادم التكامل المستمر الخاص بها. تهدف هذه الإضافة إلى القضاء على هذا التأخير من خلال الحفاظ على وكلاء بناء جاهزين مسبقًا.

كيف تعمل إضافة Warm Agents؟

باستخدام إضافة Warm Agents، يقوم TeamCity بالحفاظ على عدد مستهدف من وكلاء البناء الخاملين والجاهزين مسبقًا (pre-started agents) لصور سحابية معينة. عندما ينخفض عدد الوكلاء الخاملين عن العدد المستهدف، يقوم TeamCity على الفور بتوفير وكيل جديد. يضمن هذا أن تبدأ عمليات البناء لحظة وصولها إلى قائمة الانتظار، مما يلغي أوقات الانتظار غير الضرورية.

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

التكاليف والإدارة المرنة

تأتي إضافة Warm Agents بمقابل مادي، حيث يستهلك كل وكيل جاهز ترخيص وكيل بناء، وتكلف النسخ السحابية الخاملة أموالاً لدى مزود الخدمة السحابية. هذا يعني أن هناك مقايضة بين التكلفة ووقت الاستجابة (latency)، لذا يجب على الفرق تحديد العدد المستهدف للوكلاء بما يعكس مقدار الوقت الذي يرغبون في توفيره في قائمة الانتظار.

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

ما الذي يعنيه هذا للمطورين؟

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

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

المصدر: blog.jetbrains.com

Cloudflare يقدّم حلاً أماناً بالوكيل الذكي
«أنتثروبيك» تكشف عن نماذج AI خادعة ومخاطر جسيمة

Reactions

0
0
0
0
0
0
بالفعل كان رد فعل لهذا المنصب.

ردود الفعل