CICD للشركات الناشئة: ما هي الأدوات الموجودة ولماذا لا تستخدمها الشركات الكبيرة والمعروفة فقط

غالبًا ما يقوم مطورو أدوات CICD بإدراج الشركات الكبيرة كعملاء - Microsoft، وOculus، وRed Hat، وحتى Ferrari وNASA. يبدو أن هذه العلامات التجارية تعمل فقط مع أنظمة باهظة الثمن لا تستطيع الشركة الناشئة التي تتكون من اثنين من المطورين والمصممين تحمل تكاليفها. لكن جزءًا كبيرًا من الأدوات متاح للفرق الصغيرة.

سنخبرك بما يمكنك الاهتمام به أدناه.

CICD للشركات الناشئة: ما هي الأدوات الموجودة ولماذا لا تستخدمها الشركات الكبيرة والمعروفة فقط
ото - تشابا بالاز - Unsplash

رقيب PHP

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

يمكن لـ PHP Censor العمل مع GitHub وGitLab وMercurial والعديد من المستودعات الأخرى. لاختبار التعليمات البرمجية، تستخدم الأداة مكتبات Atoum وPHP Spec وBehat وCodeception. هنا ملف المثال تكوينات الحالة الأولى:

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

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

ريكس

Rex هو اختصار للتنفيذ عن بعد. تم تطوير النظام من قبل المهندس فيرينك إركي لأتمتة العمليات في مركز البيانات. يعتمد Rex على نصوص Perl النصية، ولكن ليس من الضروري معرفة هذه اللغة للتفاعل مع الأداة - فمعظم العمليات (على سبيل المثال، نسخ الملفات) موصوفة في مكتبة الوظائف، وغالبًا ما تتلاءم البرامج النصية مع عشرة أسطر. فيما يلي مثال لتسجيل الدخول إلى خوادم متعددة وتشغيل وقت التشغيل:

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

نوصي ببدء التعرف على الأداة باستخدام الدليل الرسمي и الكتاب الاليكتروني، والتي يتم الانتهاء منها حاليًا.

خدمة البناء المفتوح (OBS)

هذه منصة لتحسين تطوير التوزيعات. الكود الخاص به مفتوح وموجود في المستودع في GitHub جيثب:. مؤلف الأداة هو الشركة نوفيل. شاركت في تطوير توزيعة SuSE، وكان هذا المشروع يسمى في البداية openSUSE Build Service. ليس من المستغرب أن تكون خدمة Open Build Service استخدام لبناء المشاريع في openSUSE، Tizen وVideoLAN. تعمل Dell وSGI وIntel أيضًا مع الأداة. ولكن من بين المستخدمين العاديين هناك أيضًا شركات ناشئة صغيرة. خاصة بالنسبة لهم، جمع المؤلفون (صفحة 10) تم تكوينها مسبقًا حزمة البرامج. النظام نفسه مجاني تمامًا - ما عليك سوى إنفاق الأموال على الاستضافة أو خادم الأجهزة لنشره.

ولكن طوال فترة وجودها، لم تكتسب الأداة أبدًا مجتمعًا واسعًا. بالرغم من كان جزء من شبكة مطوري Linux، وهو المسؤول عن توحيد نظام التشغيل المفتوح. قد يكون من الصعب ابحث عن إجابة سؤالك في المنتديات المواضيعية. لكن أحد سكان الكورة أشار إلى ذلك دردشة آي آر سي في Freenode، يستجيب أعضاء المجتمع بسهولة تامة. إن مشكلة مجتمع صغير ليست مشكلة عالمية، حيث تم وصف حل العديد من المشاكل في الوثائق الرسمية (PDF و EPUB). المرجع نفسه. يمكن أن تجد أفضل الممارسات للعمل مع OBS (توجد أمثلة وحالات).

رانديك

أداة مفتوحة (GitHub جيثب:)، الذي يقوم بأتمتة المهام في مركز البيانات والسحابة باستخدام البرامج النصية. خادم نصي خاص مسؤول عن تنفيذها. يمكننا القول أن Rundeck هي "ابنة" لمنصة إدارة التطبيقات ControlTier. انفصلت Rundeck عنها في عام 2010 واكتسبت وظائف جديدة - على سبيل المثال، التكامل مع Puppet وChef وGit وJenkins.

يستخدم النظام في شركة والت ديزني, ساليسفورسي и تيكت ماستر. لكن المشروع مناسب أيضًا للشركات الناشئة. وذلك لأن Rundeck مرخص بموجب ترخيص Apache v2.0. علاوة على ذلك، فإن الأداة سهلة الاستخدام للغاية.

أحد سكان Reddit الذي عمل مع Rundeck، يقولالذي حل معظم الصعوبات بمفردي. لقد ساعدوه في هذا الوثائق والكتب الإلكترونية، التي نشرها المطورون.

يمكنك أيضًا العثور على أدلة مختصرة لإعداد الأداة عبر الإنترنت:

GoCD

أداة مفتوحة (GitHub جيثب:) أتمتة التحكم في إصدار التعليمات البرمجية. تم تقديمه في عام 2007 من قبل الشركة ThoughtWorks — ثم كان المشروع يسمى كروز.

يتم استخدام GoCD من قبل مهندسين من موقع مبيعات السيارات عبر الإنترنت AutoTrader وخدمة علم الأنساب Ancestry وموفر بطاقات الائتمان Barclaycard. ومع ذلك، فإن ربع مستخدمي الأداة يشكل شركة صغيرة.

يمكن تفسير شعبية الخدمة بين الشركات الناشئة من خلال انفتاحها - حيث يتم توزيعها بموجب ترخيص Apache v2.0. وفي الوقت نفسه، GoCD لديه المكونات الإضافية للتكامل مع برامج الجهات الخارجية - أنظمة الترخيص والحلول السحابية. نظام صحيح معقد إلى حد ما في الإتقان - لديها عدد كبير من المشغلين والفرق. كما يشتكي بعض المستخدمين من ضعف الواجهة و حاجة تكوين وكلاء للتحجيم.

CICD للشركات الناشئة: ما هي الأدوات الموجودة ولماذا لا تستخدمها الشركات الكبيرة والمعروفة فقط
ото - مات ويلدبور - Unsplash

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

جنكينز

جنكينز معروف على نطاق واسع و يعتبر نوع من المعايير في مجال CICD - بالطبع، بدونه لن يكون هذا الاختيار مكتملًا تمامًا. ظهرت الأداة في عام 2011، يصبح شوكة مشروع هدسون من أوراكل.

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

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

لدى جينكينز العديد من المشاريع الجانبية المفيدة. الأول هو البرنامج المساعد التكوين كرمز. فهو يجعل إعداد Jenkins أمرًا سهلاً من خلال واجهات برمجة التطبيقات (APIs) سهلة القراءة والتي يمكن حتى للمسؤولين الذين ليس لديهم معرفة عميقة بالأداة فهمها. والثاني هو النظام جنكينز اكس للسحابة. فهو يعمل على تسريع تسليم التطبيقات المنشورة على البنية التحتية لتكنولوجيا المعلومات واسعة النطاق من خلال أتمتة بعض المهام الروتينية.

بناء الروبوت

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

مؤلف الأداة هو المهندس بريان وارنر. اليوم هو في الخدمة تغير مجموعة مبادرة لجنة مراقبة Buildbot، والتي تضم ستة مطورين.

بناء الروبوت تستخدم مشاريع مثل LLVM وMariaDB وBlender وDr.Web. ولكنه يُستخدم أيضًا في المشاريع الصغيرة مثل wxWidgets وFlathub. يدعم النظام جميع أنظمة VCS الحديثة ويتمتع بإعدادات بناء مرنة باستخدام لغة Python لوصفها. وسوف تساعدك على التعامل معهم جميعا. الوثائق الرسمية والبرامج التعليمية التابعة لجهات خارجية، على سبيل المثال، إليك مقطع قصير دليل آي بي إم.

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

ما نكتب عنه في مدونة الشركة:

المصدر: www.habr.com

إضافة تعليق