Startaplar uchun CICD: qanday vositalar mavjud va nima uchun ularni nafaqat yirik va taniqli kompaniyalar ishlatadi

CICD vositalarini ishlab chiquvchilar ko'pincha yirik kompaniyalarni mijozlar sifatida ko'rsatadilar - Microsoft, Oculus, Red Hat, hatto Ferrari va NASA. Ko'rinishidan, bunday brendlar faqat bir nechta ishlab chiquvchilar va dizaynerlardan tashkil topgan startaplar sotib ololmaydigan qimmat tizimlar bilan ishlaydi. Ammo asboblarning muhim qismi kichik jamoalar uchun mavjud.

Quyida nimalarga e'tibor berishingiz mumkinligini aytib beramiz.

Startaplar uchun CICD: qanday vositalar mavjud va nima uchun ularni nafaqat yirik va taniqli kompaniyalar ishlatadi
Foto - Csaba Balazs - Splash

PHP tsenzori

PHPda loyihalarni yaratishni osonlashtiradigan ochiq manbali CI server. Bu loyihaning bir qismi PHPCI. PHPCI o'zi hamon rivojlanmoqda, lekin avvalgidek faol emas.

PHP Censor GitHub, GitLab, Mercurial va boshqa bir qancha omborlar bilan ishlashi mumkin. Kodni sinash uchun asbob Atoum, PHP Spec, Behat, Codeception kutubxonalaridan foydalanadi. Bu yerga misol fayl Birinchi holat uchun konfiguratsiyalar:

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

Bu ko'rib chiqiladiPHP Sensor kichik loyihalarni qo'llash uchun juda mos keladi, lekin siz uni o'zingiz joylashtirishingiz va sozlashingiz kerak bo'ladi (o'z-o'zidan joylashtirilgan). Bu vazifa juda batafsil hujjatlar bilan soddalashtirilgan - u GitHub-da.

Rex

Rex uzoqdan bajarilish uchun qisqartma. Tizim muhandis Ferenc Erki tomonidan ma'lumotlar markazidagi jarayonlarni avtomatlashtirish uchun ishlab chiqilgan. Rex Perl skriptlariga asoslangan, lekin asbob bilan oΚ»zaro aloqada boΚ»lish uchun bu tilni bilish shart emas – koΚ»pgina operatsiyalar (masalan, fayllarni nusxalash) funksiyalar kutubxonasida tasvirlangan va skriptlar koΚ»pincha oΚ»n qatorga toΚ»gΚ»ri keladi. Mana bir nechta serverlarga kirish va ish vaqtini ishga tushirish uchun misol:

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

Asbob bilan tanishishni boshlashni tavsiya qilamiz rasmiy qo'llanma ΠΈ elektron kitob, bu hozirda yakunlanmoqda.

Ochiq qurish xizmati (OBS)

Bu distributivlarni ishlab chiqishni optimallashtirish uchun platforma. Uning kodi ochiq va quyidagi manzildagi omborda GitHub. Asbob muallifi kompaniya hisoblanadi novell,. U SuSE distributivini ishlab chiqishda ishtirok etgan va bu loyiha dastlab openSUSE Build Service deb nomlangan. Ochiq Build xizmati ajablanarli emas foydalanish openSUSE, Tizen va VideoLAN-da loyihalarni qurish uchun. Dell, SGI va Intel ham asbob bilan ishlaydi. Ammo oddiy foydalanuvchilar orasida kichik startaplar ham bor. Ayniqsa, ular uchun mualliflar to'plangan (sahifa 10) oldindan tuzilgan dasturiy ta'minot to'plami. Tizimning o'zi mutlaqo bepul - uni joylashtirish uchun faqat hosting yoki apparat serveriga pul sarflashingiz kerak.

Ammo mavjud bo'lgan vaqt davomida asbob hech qachon keng jamoatchilikka ega bo'lmagan. Garchi u edi ochiq operatsion tizimni standartlashtirish uchun mas'ul bo'lgan Linux Developer Network qismi. Bu qiyin bo'lishi mumkin Savolingizga javobni tematik forumlarda toping. Ammo Quora aholisidan biri buni qayd etdi IRC suhbati Freenode-da hamjamiyat a'zolari juda oson javob berishadi. Kichik jamoa muammosi global emas, chunki ko'plab muammolarni hal qilish yo'llari tasvirlangan rasmiy hujjatlarda (PDF va EPUB). O'sha yerda. Siz topishingiz mumkin OBS bilan ishlashning eng yaxshi amaliyotlari (misollar va holatlar mavjud).

Rundeck

Ochiq asbob (GitHub), bu skriptlar yordamida ma'lumotlar markazi va bulutdagi vazifalarni avtomatlashtiradi. Ularning bajarilishi uchun maxsus skript-server mas'uldir. Aytishimiz mumkinki, Rundeck ControlTier ilovalarini boshqarish platformasining "qizi". Rundeck undan 2010 yilda ajralib chiqdi va yangi funksiyalarga ega bo'ldi - masalan, Puppet, Chef, Git va Jenkins bilan integratsiya.

Tizim ichida qo'llaniladi Walt Disney kompaniyasi, SalesForce ΠΈ Tarmoq ustasi. Lekin loyiha startaplar uchun ham mos. Buning sababi, Rundeck Apache v2.0 litsenziyasi ostida litsenziyalangan. Bundan tashqari, vositadan foydalanish juda oson.

Rundek bilan ishlagan Reddit rezidenti, U gapiradi, bu qiyinchiliklarning aksariyatini o'zim hal qildim. Ular unga bu borada yordam berishdi hujjatlar va elektron kitoblar, ishlab chiquvchilar tomonidan nashr etilgan.

Shuningdek, siz onlayn vositani sozlash bo'yicha qisqacha qo'llanmalarni topishingiz mumkin:

GoCD

Ochiq asbob (GitHub) kod versiyasini boshqarishni avtomatlashtirish. U 2007 yilda kompaniya tomonidan taqdim etilgan ThoughtWorks - keyin loyiha Kruiz deb nomlangan.

GoCD-dan AutoTrader onlayn avtomobil sotish sayti muhandislari, Ancestry shajara xizmati va Barclaycard kredit karta provayderi foydalanadi. Biroq, asbob foydalanuvchilarining to'rtdan biri kichik biznesni tashkil etadi.

Xizmatning startaplar orasida mashhurligini uning ochiqligi bilan izohlash mumkin – u Apache v2.0 litsenziyasi ostida tarqatiladi. Shu bilan birga, GoCD bir bor uchinchi tomon dasturiy ta'minoti bilan integratsiya uchun plaginlar - avtorizatsiya tizimlari va bulutli echimlar. Haqiqiy tizim ancha murakkab o'zlashtirishda - ko'p sonli operatorlar va jamoalarga ega. Bundan tashqari, ba'zi foydalanuvchilar yomon interfeys haqida shikoyat qiladilar va zaruriyat masshtablash uchun agentlarni sozlang.

Startaplar uchun CICD: qanday vositalar mavjud va nima uchun ularni nafaqat yirik va taniqli kompaniyalar ishlatadi
Foto - Mett Wildbore - Splash

Agar siz GoCD-ni amalda sinab ko'rmoqchi bo'lsangiz, uni loyiha veb-saytida topishingiz mumkin rasmiy hujjatlar. Qo'shimcha ma'lumot manbai sifatida ham tavsiya etilishi mumkin GoCD Developer Blog qo'llanmalar bilan sozlashda.

Jenkins

Jenkins keng tanilgan va hisoblanadi CICD sohasidagi o'ziga xos standart - albatta, busiz bu tanlov butunlay to'liq bo'lmaydi. Asbob 2011 yilda paydo bo'lgan, bo'lish Oracle'dan Hudson loyihasining vilkalari.

Bugun Jenkins bilan ishlaydi NASA, Nintendo va boshqa yirik tashkilotlarda. Biroq 8% dan ortiq foydalanuvchilar o'n kishigacha bo'lgan kichik jamoalarni hisobga oladi. Mahsulot butunlay bepul va tarqatiladi MIT litsenziyasi ostida. Biroq, siz Jenkins-ni o'zingiz joylashtirishingiz va sozlashingiz kerak bo'ladi - bu maxsus serverni talab qiladi.

Asbobning butun mavjudligi davomida uning atrofida katta jamoa shakllangan. Foydalanuvchilar mavzularda faol muloqot qilishadi Digg ΠΈ Google guruhlari. Jenkins haqidagi materiallar HabrΓ©-da muntazam ravishda paydo bo'ladi. Agar siz hamjamiyatning bir qismi bo'lishni va Jenkins bilan ishlashni boshlamoqchi bo'lsangiz, bor rasmiy hujjatlar ΠΈ ishlab chiquvchi uchun qo'llanma. Shuningdek, biz quyidagi qo'llanmalar va kitoblarni tavsiya qilamiz:

Jenkinsning bir nechta foydali loyihalari bor. Birinchisi plagin Kod sifatida konfiguratsiya. Bu oson o'qiladigan API-lar yordamida Jenkins-ni sozlashni osonlashtiradi, hatto bu vositani chuqur bilmaydigan administratorlar ham tushuna oladi. Ikkinchisi - tizim Jenkins X bulut uchun. U ba'zi muntazam vazifalarni avtomatlashtirish orqali keng ko'lamli AT infratuzilmasiga joylashtirilgan ilovalarni yetkazib berishni tezlashtiradi.

Buildbot

Bu ilovalarni yaratish va sinovdan o'tkazish siklini avtomatlashtirish uchun uzluksiz integratsiya tizimi. Har safar kodga har qanday o'zgartirish kiritilganda, u avtomatik ravishda kodning funksionalligini tekshiradi.

Asbob muallifi muhandis Brayan Uorner edi. Bugun u navbatchilikda o'zgartirildi oltita ishlab chiquvchini o'z ichiga olgan Buildbot Nazorat Qo'mitasi tashabbus guruhi.

Buildbot ishlatiladi LLVM, MariaDB, Blender va Dr.Web kabi loyihalar. Ammo u wxWidgets va Flathub kabi kichikroq loyihalarda ham qo'llaniladi. Tizim barcha zamonaviy VCS-larni qo'llab-quvvatlaydi va ularni tavsiflash uchun Python-dan foydalangan holda moslashuvchan qurish sozlamalariga ega. Bu ularning barchasi bilan kurashishingizga yordam beradi. rasmiy hujjatlar va uchinchi tomon darsliklari, masalan, bu erda qisqasi IBM qo'llanma.

Albatta, bu hammasi emas Kichik tashkilotlar va startaplar e'tibor berishlari kerak bo'lgan DevOps vositalari. Izohlarda sevimli vositalaringizni bering va biz ular haqida quyidagi materiallardan birida gapirishga harakat qilamiz.

Biz korporativ blogda nima yozamiz:

Manba: www.habr.com

a Izoh qo'shish