Стартапуудад зориулсан CICD: ямар хэрэгслүүд байдаг, яагаад зөвхөн томоохон, алдартай компаниуд ашигладаггүй

CICD хэрэгслийг хөгжүүлэгчид Microsoft, Oculus, Red Hat, тэр ч байтугай Ferrari, NASA зэрэг томоохон компаниудыг үйлчлүүлэгчид гэж нэрлэдэг. Ийм брэндүүд нь зөвхөн хэд хэдэн хөгжүүлэгч, дизайнераас бүрдсэн стартапууд төлж чадахгүй үнэтэй системүүдтэй ажилладаг юм шиг санагддаг. Гэхдээ багаж хэрэгслийн нэлээд хэсэг нь жижиг багуудад байдаг.

Та юуг анхаарч үзэхийг бид доор хэлэх болно.

Стартапуудад зориулсан CICD: ямар хэрэгслүүд байдаг, яагаад зөвхөн томоохон, алдартай компаниуд ашигладаггүй
Фото - Чаба Балазс - Цочмог арилгах

PHP цензур

PHP дээр төсөл бүтээхэд хялбар болгодог нээлттэй эхийн CI сервер. Энэ бол төслийн салаа хэсэг юм 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 нь жижиг төслүүдийг ашиглахад тохиромжтой, гэхдээ та үүнийг өөрөө зохион байгуулж, тохируулах хэрэгтэй болно (өөрөө байршуулсан). Энэ ажлыг нэлээд нарийвчилсан баримт бичгүүдээр хялбаршуулсан болно - Энэ нь GitHub дээр байна.

Рекс

Рекс нь Remote Execution гэсэн үгийн товчлол юм. Энэхүү системийг инженер Ференц Эрки дата төвийн процессыг автоматжуулах зорилгоор боловсруулсан. 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. Хэрэгслийн зохиогч нь компани юм Novell. Тэрээр SuSE түгээлтийг боловсруулахад оролцсон бөгөөд энэ төслийг анх openSUSE Build Service гэж нэрлэжээ. Open Build Service нь гайхах зүйл биш юм ашиглах openSUSE, Tizen болон VideoLAN дээр төсөл барихад зориулагдсан. Dell, SGI, Intel нар мөн уг хэрэгсэлтэй ажилладаг. Гэхдээ байнгын хэрэглэгчдийн дунд жижиг стартапууд бас байдаг. Ялангуяа тэдний хувьд зохиогчид цуглуулсан (10 хуудас) урьдчилан тохируулсан програм хангамжийн багц. Систем нь өөрөө бүрэн үнэ төлбөргүй байдаг - та үүнийг байршуулахын тулд зөвхөн хостинг эсвэл техник хангамжийн серверт мөнгө зарцуулах хэрэгтэй.

Гэвч оршин тогтнох хугацаандаа энэ хэрэгсэл хэзээ ч өргөн хүрээг хамарч байгаагүй. Хэдийгээр тэр байсан нээлттэй үйлдлийн системийг стандартчилах үүрэгтэй Linux хөгжүүлэгчийн сүлжээний нэг хэсэг. Энэ нь хэцүү байж болно Сэдэвчилсэн форум дээрээс асуултынхаа хариултыг олоорой. Гэхдээ Куорагийн оршин суугчдын нэг нь үүнийг тэмдэглэв IRC чат Freenode дээр нийгэмлэгийн гишүүд маш амархан хариу үйлдэл үзүүлдэг. Олон асуудлын шийдлийг тодорхойлсон тул жижиг нийгэмлэгийн асуудал дэлхий нийтийн шинж чанартай биш юм албан ёсны баримт бичигт (PDF болон EPUB). Мөн тэнд. олж чадна OBS-тэй ажиллах шилдэг туршлагууд (жишээ, тохиолдол байдаг).

Рундек

Нээлттэй хэрэгсэл (GitHub), скрипт ашиглан дата төв болон үүлэн доторх ажлыг автоматжуулдаг. Тусгай скрипт сервер нь тэдгээрийн гүйцэтгэлийг хариуцдаг. Rundeck бол ControlTier програмын удирдлагын платформын "охин" гэж бид хэлж чадна. Рундек 2010 онд түүнээс салж, шинэ функцийг олж авсан - жишээлбэл, Хүүхэлдэй, тогооч, Гит, Женкинс нартай нэгтгэсэн.

Системийг ашиглаж байна Walt Disney компани, Борлуулалтын хүч и Ticketmaster. Гэхдээ энэ төсөл нь стартапуудад бас тохиромжтой. Учир нь Rundeck нь Apache v2.0 лицензийн дагуу лицензтэй. Нэмж дурдахад энэ хэрэгслийг ашиглахад хялбар байдаг.

Рундектэй хамтран ажиллаж байсан Reddit-ийн оршин суугч, гэж хэлэв, энэ нь ихэнх бэрхшээлийг өөрөө шийдсэн. Тэд түүнд энэ талаар тусалсан баримт бичиг, цахим ном, хөгжүүлэгчид нийтэлсэн.

Та мөн уг хэрэгслийг онлайнаар тохируулах товч зааварчилгааг олж болно:

GoCD

Нээлттэй хэрэгсэл (GitHub) кодын хувилбарын хяналтыг автоматжуулах. Үүнийг 2007 онд тус компани нэвтрүүлсэн ThoughtWorks - дараа нь төслийг Круз гэж нэрлэсэн.

GoCD-г автомашины онлайн борлуулалтын сайт AutoTrader, угийн бичгийн үйлчилгээ, Ancestry болон зээлийн картын үйлчилгээ үзүүлэгч Barclaycard-ын инженерүүд ашигладаг. Гэсэн хэдий ч, хэрэгсэл хэрэглэгчдийн дөрөвний нэг нь жижиг бизнесийг бүрдүүлдэг.

Үйлчилгээний гарааны бизнес эрхлэгчдийн дунд түгээмэл байгаа нь түүний нээлттэй байдлаар тайлбарлагдаж болно - үүнийг Apache v2.0 лицензийн дагуу түгээдэг. Үүний зэрэгцээ GoCD Энэ нь байна гуравдагч талын програм хангамжтай нэгтгэх залгаасууд - зөвшөөрлийн систем ба үүлний шийдэл. Жинхэнэ систем нэлээд төвөгтэй эзэмшихэд - энэ нь олон тооны оператор, багуудтай. Түүнчлэн, зарим хэрэглэгчид интерфейс муутай талаар гомдоллодог хэрэгтэй томруулах агентуудыг тохируулах.

Стартапуудад зориулсан CICD: ямар хэрэгслүүд байдаг, яагаад зөвхөн томоохон, алдартай компаниуд ашигладаггүй
Фото - Мэтт Уайлдбор - Цочмог арилгах

Хэрэв та GoCD-г практик дээр туршиж үзэхийг хүсвэл төслийн вэбсайтаас олж болно албан ёсны баримт бичиг. Үүнийг нэмэлт мэдээллийн эх сурвалж болгон санал болгож болно GoCD хөгжүүлэгчийн блог гарын авлагатай тохиргоогоор.

Jenkins

Женкинс олонд танигдсан бөгөөд гэж үзнэ CICD-ийн салбарт нэг төрлийн стандарт - Мэдээжийн хэрэг, үүнгүйгээр энэ сонголт бүрэн гүйцэд биш байх болно. Энэхүү хэрэгсэл нь 2011 онд гарч ирсэн. болж байна Oracle-ийн Хадсон төслийн салаа.

Өнөөдөр Женкинстэй хамт ажил НАСА, Nintendo болон бусад томоохон байгууллагуудад. Гэсэн хэдий ч 8% -иас дээш хэрэглэгчид арав хүртэлх хүнтэй жижиг багийг бүрдүүлдэг. Бүтээгдэхүүн нь бүрэн үнэ төлбөргүй бөгөөд тараагддаг MIT лицензийн дагуу. Гэсэн хэдий ч та Jenkins-ийг өөрөө байршуулж, тохируулах хэрэгтэй болно - энэ нь тусгай сервер шаарддаг.

Энэ хэрэгсэл оршин тогтнох бүх хугацаанд түүний эргэн тойронд томоохон нийгэмлэг бий болсон. Хэрэглэгчид дээрх thread дээр идэвхтэй харилцдаг Reddit и Google-ийн бүлгүүд. Женкинсийн тухай материалууд Хабре дээр тогтмол гардаг. Хэрэв та олон нийтийн нэг хэсэг болж, Женкинстэй хамтран ажиллаж эхлэхийг хүсвэл тэнд байна албан ёсны баримт бичиг и хөгжүүлэгчийн гарын авлага. Мөн бид дараах гарын авлага, номуудыг санал болгож байна.

Женкинс хэд хэдэн ашигтай талуудтай. Эхнийх нь залгаас юм Код хэлбэрээр тохируулна. Энэ нь уншихад хялбар API-уудын тусламжтайгаар Женкинсийг тохируулахад хялбар болгодог бөгөөд энэ нь уг хэрэгслийн талаар гүнзгий мэдлэггүй админууд хүртэл ойлгох боломжтой. Хоёр дахь нь систем юм Женкинс X үүлний төлөө. Энэ нь зарим ердийн ажлуудыг автоматжуулах замаар том хэмжээний мэдээллийн технологийн дэд бүтцэд байрлуулсан програмуудыг хүргэх ажлыг хурдасгадаг.

Buildbot

Энэ нь програмуудыг бүтээх, турших циклийг автоматжуулах тасралтгүй интеграцийн систем юм. Энэ нь кодонд ямар нэгэн өөрчлөлт оруулах бүрт түүний ажиллагааг автоматаар шалгадаг.

Энэхүү багажийн зохиогч нь инженер Брайан Уорнер байв. Өнөөдөр тэр үүрэг гүйцэтгэж байна өөрчлөгдсөн байна зургаан хөгжүүлэгчийг багтаасан Buildbot Хяналтын Хорооны санаачлагын бүлэг.

Buildbot ашиглаж байна LLVM, MariaDB, Blender, Dr.Web зэрэг төслүүд. Гэхдээ үүнийг wxWidget, Flathub зэрэг жижиг төслүүдэд ашигладаг. Систем нь орчин үеийн бүх VCS-ийг дэмждэг бөгөөд тэдгээрийг тайлбарлахын тулд Python ашиглан уян хатан бүтээх тохиргоотой. Энэ нь танд бүгдийг нь шийдвэрлэхэд тусална. албан ёсны баримт бичиг Гуравдагч талын зааварчилгаа, жишээлбэл, энд богинохон байна IBM гарын авлага.

Мэдээжийн хэрэг, энэ бүгд биш Жижиг байгууллагууд болон стартапуудын анхаарах ёстой DevOps хэрэгслүүд. Өөрийн дуртай хэрэгслүүдээ сэтгэгдэл дээр бичээрэй, бид эдгээрийн талаар дараах материалуудын аль нэгэнд ярихыг хичээх болно.

Корпорацийн блог дээр бид юу бичдэг вэ:

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх