مرحبا يا هبر! أصدرنا مؤخرًا إصدارًا جديدًا من TeamCity - 2018.1. هذا هو الإصدار الرئيسي الأول لخادم CI / CD هذا العام. وهناك شيء للنظر إليه.
القائمة الكاملة للتغييرات
مثيرة للإعجاب ، كما هو الحال دائمًا. ولكن هنا سنركز على أربع ميزات رئيسية للإصدار. دعنا نذهب!

جديد TeamCity Kotlin DSL
TeamCity لها DSL الخاصة بها (لغة خاصة بالمجال) ، والتي يمكنك من خلالها وصف إعدادات المشاريع وبناء التكوينات في كود Kotlin ، وتجسد مبادئ البنية التحتية كرمز. في 2018.1 ، قمنا بإعادة صياغة تنسيق DSL بشكل كبير ، مما جعله أبسط وأكثر ملاءمة وأكثر وظيفية.
أسهل . تم تبسيط تنسيق DSL نظرًا لحقيقة أن TeamCity لم تعد بحاجة إلى خادم uuid ومعرف المشروع ، وتعلم كيفية إنشائها بشكل مستقل عن اسم المشاريع وبناء التكوينات. هنا ، على سبيل المثال ، كل التعليمات البرمجية اللازمة لوصف مشروع بسيط "Hello world" في TeamCity:
version = "2018.1" project{ buildType(HelloWorld) } object HelloWorld : BuildType({ name = "Hellow world" steps { scriptContent = "echo 'Hello world!'" } })
ملف واحد . يتم الآن تخزين جميع التعليمات البرمجية لوصف إعدادات TeamCity في ملف واحد - settings.kts ، والذي يجب إضافته إلى دليل .teamcity.
قابلية . نظرًا لأن الشفرة لا تحتوي الآن على ربط بخادم أو مشروع معين ، يمكن إعادة استخدامه لعمليات التثبيت أو المشاريع الأخرى داخل نفس الخادم. ما عليك سوى نسخ settings.kts إلى المستودع المناسب.
إنشاء مشاريع من URL . لكي يتمكن TeamCity من قراءة الإعدادات وتطبيقها من الكود ، يكفي إعطائه رابطًا إلى المستودع باستخدام .teamcity / settings.kts. سيتم تنفيذ جميع الإعدادات الموصوفة تلقائيًا.
فيما يلي عرض توضيحي قصير لميزات Kotlin DSL الجديدة من
antonarhipov (باللغة الإنجليزية):
التوفر العالي والقراءة فقط
في 2018.1 ، أصبح من الممكن بدء تشغيل الخادم في وضع القراءة فقط. يتيح لك هذا تكوين مجموعة TeamCity التي يمكن الوصول إليها بشكل كبير ، والتي تتكون من خادمين TeamCity: الرئيسي والخادم ، يعملان في وضع القراءة فقط. في هذه الحالة ، سيكون لدى خادم القراءة فقط حق الوصول للقراءة إلى قاعدة البيانات ودليل البيانات ، وسيضخ باستمرار تعديلات البيانات التي يجريها الخادم الرئيسي. في حالة فشل الخادم الرئيسي ، سيقبل خادم القراءة فقط جميع الطلبات. من المهم أن نفهم أن الخادم للقراءة فقط سيكون قادرًا فقط على إظهار الحالة الأخيرة في وقت انهيار الخادم الرئيسي ، ولكنه لن يجعل من الممكن تغيير هذه الحالة.
وينطبق ذلك على عمليات التثبيت الكبيرة ، التي تعد مهمة للوصول غير المتقطع إلى خادم CI ، سواء أثناء الفشل المجدول أو أثناء التحديثات المجدولة.
تحسين دعم عامل الميناء
لقد كتبنا سابقًا عن حقيقة أن TeamCity تدعم Docker "خارج الصندوق": إطلاق التصميمات في الحاوية ، وإنشاء صور Docker ، وإضافتها وإزالتها من المستودع ، وإطلاق أوامر Docker ، وإنشاء Docker.
يضيف هذا الإصدار دعمًا لعدائي .NET CLI و Powershell ، مما يسمح لك بإكمال خطوات البناء هذه داخل حاوية Docker.
تم تحديث عداء Docker نفسه أيضًا: فهو يدعم في الأصل الإنشاء والدفع وغيرها.
كيف يعمل دعم Docker في TeamCity ، يمكنك أن ترى في هذا الفيديو:
تخزين القطع الأثرية على Amazon S3
يوجد المكون الإضافي TeamCity AWS S3 بالفعل لبعض الوقت ، ولكن في الإصدار 2018.1 قمنا بإصلاح العديد من المشاكل وأدرجناها في التوزيع الرئيسي. يتعامل تكامل S3 مع عناصر التبعية وأدوات التنظيف بشكل أنيق للغاية ويتم دمجه في واجهة مستخدم TeamCity بحيث لا يلاحظ المستخدم غير المشتبه فيه أن العناصر يتم تخزينها في مجموعة S3.
هنا تجريبي:
تحسينات أخرى
من بين التحسينات الأخرى ، تجدر الإشارة إلى عمل أكثر ملاءمة مع خطوات التجميع الموروثة من القوالب. على وجه الخصوص ، من الممكن الآن تعيين الخطوات السابقة واللاحقة في القالب والإشارة إلى أن خطوات التكوين تقع بينهما.
قام الإصدار الجديد أيضًا بتحسين العمل بشكل كبير مع خلاصة NuGet. الآن يمكن تمكينه على مستوى مشروع معين ، وليس عالميًا على الخادم بأكمله ، مما تسبب في حدوث مشكلات في الأداء في الماضي. ونتيجة لذلك ، يتم الآن دعم العديد من خلاصات NuGet في مشاريع مختلفة.

إذا كانت بعض خدماتك على الشبكة تعمل لشهادات SSL التي لم يتم التوقيع عليها من قبل سلطة معروفة ، فبدلاً من العملية المعقدة إلى حد ما لاستيراد هذه الشهادات إلى خوادم ووكلاء Java ، يمكنك ببساطة تحميلها إلى مشروع خادم الجذر عبر واجهة ويب ملائمة. سيبدأ الخادم والوكلاء على الفور في استخدام الشهادات الجديدة.
كان لدينا مؤخرًا ندوة عبر الإنترنت ،
أظهر خلالها
أنتوناريبوف كل ما سبق في العمل. يمكنك رؤيته في الإدخال:
يمكنك تنزيل أحدث إصدار من TeamCity 2018.1 من موقعنا على
الويب (بالإضافة إلى تشغيله على AWS أو في Azure أو من حاوية Docker). اترك التعليقات والاقتراحات حول الإصدار الجديد في
أداة تتبع الأخطاء .
نذكرك بأن TeamCity Professional يوفر 100 إصدار من التكوينات و 3 إصدارات من الوكيل مجانًا تمامًا ، دون قيود على الوقت والوظائف.
لديك بناء جميل!