Başlanğıclar üçün CICD: hansı alətlər var və nə üçün onlardan nəinki böyük və tanınmış şirkətlər istifadə edir

CICD alətlərinin tərtibatçıları tez-tez böyük şirkətləri müştərilər kimi göstərirlər - Microsoft, Oculus, Red Hat, hətta Ferrari və NASA. Belə görünür ki, belə markalar yalnız bir neçə tərtibatçı və dizaynerdən ibarət startapın ödəyə bilməyəcəyi bahalı sistemlərlə işləyir. Lakin alətlərin əhəmiyyətli bir hissəsi kiçik komandalar üçün mövcuddur.

Aşağıda nələrə diqqət edə biləcəyinizi sizə xəbər verəcəyik.

Başlanğıclar üçün CICD: hansı alətlər var və nə üçün onlardan nəinki böyük və tanınmış şirkətlər istifadə edir
Фото - Csaba Balazs - Sıçrama

PHP Sensoru

PHP-də layihələr qurmağı asanlaşdıran açıq mənbəli CI serveri. Bu layihənin bir hissəsidir PHPCI. PHPCI özü hələ də inkişaf edir, lakin əvvəlki kimi aktiv deyil.

PHP Sensoru GitHub, GitLab, Mercurial və bir neçə başqa repozitoriya ilə işləyə bilər. Kodu sınamaq üçün alət Atoum, PHP Spec, Behat, Codeception kitabxanalarından istifadə edir. Burada nümunə fayl birinci hal üçün konfiqurasiyalar:

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

Nəzərə alınıbki, PHP Sensor kiçik layihələrin yerləşdirilməsi üçün çox uyğundur, lakin siz onu özünüz qəbul etməli və konfiqurasiya etməli olacaqsınız (öz-özünə ev sahibi). Bu tapşırıq kifayət qədər ətraflı sənədlərlə sadələşdirilmişdir - GitHub-dadır.

Rex

Rex Uzaqdan İcra üçün qısadır. Sistem verilənlər mərkəzində prosesləri avtomatlaşdırmaq üçün mühəndis Ferenc Erki tərəfindən hazırlanıb. Rex Perl skriptlərinə əsaslanır, lakin alətlə qarşılıqlı əlaqə yaratmaq üçün bu dili bilmək lazım deyil - əksər əməliyyatlar (məsələn, faylların surətinin çıxarılması) funksiyalar kitabxanasında təsvir olunur və skriptlər çox vaxt on sətirə sığır. Birdən çox serverə daxil olmaq və iş vaxtını işə salmaq üçün bir nümunə:

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;
};

Alətlə tanışlığınıza başlamağı məsləhət görürük rəsmi bələdçi и e-kitab, hazırda tamamlanmaq üzrədir.

Açıq Quraşdırma Xidməti (OBS)

Bu, paylamaların inkişafını optimallaşdırmaq üçün bir platformadır. Onun kodu açıqdır və anbardadır Github. Alətin müəllifi şirkətdir Novell. O, SuSE paylanmasının hazırlanmasında iştirak etdi və bu layihə əvvəlcə openSUSE Build Service adlanırdı. Açıq Quraşdırma Xidmətinin olması təəccüblü deyil istifadə edin openSUSE, Tizen və VideoLAN-da layihələr qurmaq üçün. Dell, SGI və Intel də alətlə işləyir. Ancaq müntəzəm istifadəçilər arasında kiçik startaplar da var. Xüsusilə onlar üçün müəlliflər topladılar (səhifə 10) əvvəlcədən konfiqurasiya edilmişdir proqram paketi. Sistemin özü tamamilə pulsuzdur - onu yerləşdirmək üçün yalnız hostinq və ya hardware serverinə pul xərcləməlisiniz.

Ancaq mövcud olduğu müddətdə alət heç vaxt geniş bir cəmiyyət əldə etməmişdir. Baxmayaraq ki o idi açıq ƏS-nin standartlaşdırılmasından məsul olan Linux Tərtibatçı Şəbəkəsinin bir hissəsidir. Çətin ola bilər Sualınızın cavabını tematik forumlarda tapın. Lakin Quora sakinlərindən biri qeyd etdi ki, IRC söhbəti Freenode-da icma üzvləri asanlıqla cavab verirlər. Kiçik bir cəmiyyətin problemi qlobal deyil, çünki bir çox problemlərin həlli təsvir edilmişdir rəsmi sənədlərdə (PDF və EPUB). Həmin yerdə. tapa bilərsiniz OBS ilə işləmək üçün ən yaxşı təcrübələr (nümunələr və hallar var).

Rundeck

Açıq alət (Github), skriptlərdən istifadə edərək məlumat mərkəzində və buludda tapşırıqları avtomatlaşdıran. Xüsusi skript serveri onların icrasına cavabdehdir. Deyə bilərik ki, Rundeck ControlTier proqram idarəetmə platformasının "qızı"dır. Rundeck 2010-cu ildə ondan ayrıldı və yeni funksionallıq əldə etdi - məsələn, Kukla, Şef, Git və Jenkins ilə inteqrasiya.

Sistemdə istifadə olunur The Walt Disney Company, Salesforce и Ticketmaster. Amma layihə startaplar üçün də uyğundur. Bunun səbəbi Rundeck-in Apache v2.0 lisenziyası əsasında lisenziyalaşdırılmasıdır. Üstəlik, alətdən istifadə etmək olduqca asandır.

Rundeck ilə işləyən Reddit sakini, deyir, çətinliklərin çoxunu özüm həll etdim. Bu işdə ona kömək etdilər sənədlər və elektron kitablar, tərtibatçılar tərəfindən nəşr edilmişdir.

Aləti onlayn qurmaq üçün qısa təlimatları da tapa bilərsiniz:

GoCD

Açıq alət (Github) kod versiyasına nəzarətin avtomatlaşdırılması. 2007-ci ildə şirkət tərəfindən təqdim edilmişdir ThoughtWorks — sonra layihə Kruiz adlanırdı.

GoCD onlayn avtomobil satış saytı AutoTrader, şəcərə xidməti Ancestry və kredit kartı təminatçısı Barclaycard mühəndisləri tərəfindən istifadə olunur. Ancaq alət istifadəçilərinin dörddə biri kiçik biznesi təşkil edir.

Xidmətin startaplar arasında populyarlığını onun açıqlığı ilə izah etmək olar - o, Apache v2.0 lisenziyası ilə yayılır. Eyni zamanda, GoCD Bu, üçüncü tərəf proqram təminatı ilə inteqrasiya üçün plaginlər - avtorizasiya sistemləri və bulud həlləri. Əsl sistem olduqca mürəkkəb mənimsəmədə - çoxlu sayda operator və komandaya malikdir. Həmçinin, bəzi istifadəçilər zəif interfeysdən şikayətlənir və ehtiyac miqyaslandırma üçün agentləri konfiqurasiya edin.

Başlanğıclar üçün CICD: hansı alətlər var və nə üçün onlardan nəinki böyük və tanınmış şirkətlər istifadə edir
Фото - Matt Wildbore - Sıçrama

Əgər siz GoCD-ni praktikada sınamaq istəyirsinizsə, onu layihənin saytında tapa bilərsiniz rəsmi sənədlər. Əlavə məlumat mənbəyi kimi də tövsiyə oluna bilər GoCD Developer Blogu dərsliklərlə təyinat üzrə.

Jenkins

Jenkins geniş tanınır və hesab CICD sahəsində bir növ standart - əlbəttə ki, onsuz bu seçim tamamilə tamamlanmazdı. Alət 2011-ci ildə ortaya çıxdı, olmaq Oracle-dan Project Hudson-un bir hissəsi.

Bu gün Jenkins ilə işləyirik NASA, Nintendo və digər böyük təşkilatlarda. Lakin 8% -dən çox istifadəçilər on nəfərə qədər kiçik komandalar təşkil edir. Məhsul tamamilə pulsuzdur və paylanır MIT lisenziyası altında. Bununla belə, siz Jenkins-i özünüz qəbul etməli və konfiqurasiya etməli olacaqsınız - bu, xüsusi server tələb edir.

Alətin bütün mövcudluğu ərzində onun ətrafında böyük bir cəmiyyət formalaşmışdır. İstifadəçilər mövzularda aktiv şəkildə ünsiyyət qururlar Reddit и Google Groups. Jenkins haqqında materiallar da Habré-də müntəzəm olaraq görünür. Cəmiyyətin bir hissəsi olmaq və Jenkins ilə işləməyə başlamaq istəyirsinizsə, var rəsmi sənədlər и tərtibatçı təlimatı. Həmçinin aşağıdakı təlimatları və kitabları tövsiyə edirik:

Jenkinsin bir neçə faydalı yan layihəsi var. Birincisi plagindir Kod kimi konfiqurasiya. O, hətta alət haqqında dərin biliyi olmayan idarəçilərin də anlaya biləcəyi asan oxunan API-lərlə Jenkins-in qurulmasını asanlaşdırır. İkincisi sistemdir Jenkins X bulud üçün. O, bəzi rutin tapşırıqları avtomatlaşdıraraq irimiqyaslı İT infrastrukturunda yerləşdirilən tətbiqlərin çatdırılmasını sürətləndirir.

buildbot

Bu proqramların qurulması və sınaq dövrünün avtomatlaşdırılması üçün davamlı inteqrasiya sistemidir. Kodda hər hansı dəyişiklik edildikdə avtomatik olaraq kodun funksionallığını yoxlayır.

Alətin müəllifi mühəndis Brayan Uorner idi. Bu gün vəzifədədir dəyişdi altı tərtibatçının daxil olduğu Buildbot Nəzarət Komitəsi təşəbbüs qrupu.

buildbot işlənmiş LLVM, MariaDB, Blender və Dr.Web kimi layihələr. Lakin o, wxWidgets və Flathub kimi kiçik layihələrdə də istifadə olunur. Sistem bütün müasir VCS-ləri dəstəkləyir və onları təsvir etmək üçün Python istifadə edərək çevik quraşdırma parametrlərinə malikdir. Bu, hamısının öhdəsindən gəlməyə kömək edəcək. rəsmi sənədlər və üçüncü tərəf dərslikləri, məsələn, qısa bir IBM təlimatı.

Əlbəttə ki, bu hamısı deyil Kiçik təşkilatların və startapların diqqət etməli olduğu DevOps alətləri. Sevimli alətlərinizi şərhlərdə verin və biz aşağıdakı materiallardan birində onlar haqqında danışmağa çalışacağıq.

Korporativ bloqda nə haqqında yazırıq:

Mənbə: www.habr.com

Добавить комментарий