CICD alang sa mga startup: unsa nga mga himan ang anaa ug nganong dili lamang mga dagko ug iladong mga kompanya ang naggamit niini

Ang mga nag-develop sa mga himan sa CICD kanunay nga naglista sa mga dagkong kompanya ingon mga kliyente - Microsoft, Oculus, Red Hat, bisan ang Ferrari ug NASA. Mopatim-aw nga ang ingon nga mga tatak nagtrabaho lamang sa mga mahal nga sistema nga ang usa ka pagsugod nga gilangkuban sa usa ka magtiayon nga mga developer ug usa ka tigdesinyo dili makaya. Apan ang usa ka hinungdanon nga bahin sa mga himan magamit alang sa gagmay nga mga koponan.

Isulti namon kanimo kung unsa ang mahimo nimong hatagan pagtagad sa ubos.

CICD alang sa mga startup: unsa nga mga himan ang anaa ug nganong dili lamang mga dagko ug iladong mga kompanya ang naggamit niini
--ΠžΡ‚ΠΎ - Csaba Balazs - Unsplash

PHP Censor

Usa ka open source CI server nga nagpasayon ​​sa paghimo og mga proyekto sa PHP. Kini usa ka bahin sa proyekto PHPCI. Ang PHPCI mismo nag-uswag pa, apan dili ingon ka aktibo sama kaniadto.

Makatrabaho ang PHP Censor sa GitHub, GitLab, Mercurial ug uban pang mga repository. Sa pagsulay sa code, ang himan naggamit sa Atoum, PHP Spec, Behat, Codeception nga mga librarya. Dinhi pananglitan nga file mga configuration alang sa unang kaso:

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

Giisipnga ang PHP Censor haom kaayo alang sa pag-deploy sa gagmay nga mga proyekto, apan kinahanglan nimo nga i-host ug i-configure kini sa imong kaugalingon (self-hosted). Kini nga buluhaton gipasayon ​​pinaagi sa medyo detalyado nga dokumentasyon - naa ni sa GitHub.

Rex

Ang Rex mubo alang sa Remote Execution. Ang sistema gimugna sa engineer nga si Ferenc Erki aron ma-automate ang mga proseso sa data center. Ang Rex gibase sa mga script sa Perl, apan dili kinahanglan nga mahibal-an kini nga pinulongan aron makig-uban sa himan - kadaghanan sa mga operasyon (pananglitan, pagkopya sa mga file) gihulagway sa librarya sa function, ug ang mga script kasagaran mohaum sa napulo ka linya. Ania ang usa ka pananglitan sa pag-log in sa daghang mga server ug pagdagan sa oras:

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

Girekomenda namon ang pagsugod sa imong kaila sa himan nga adunay opisyal nga giya ΠΈ e-libro, nga sa pagkakaron ginahuman.

Open Build Service (OBS)

Kini usa ka plataporma alang sa pag-optimize sa pagpalambo sa mga distribusyon. Ang code niini bukas ug naa sa repository sa GitHub. Ang tagsulat sa himan mao ang kompanya Novell. Miapil siya sa pagpalambo sa pag-apod-apod sa SuSE, ug kini nga proyekto sa sinugdan gitawag og openSUSE Build Service. Dili ikatingala nga ang Open Build Service paggamit alang sa pagtukod sa mga proyekto sa openSUSE, Tizen ug VideoLAN. Ang Dell, SGI ug Intel nagtrabaho usab sa himan. Apan taliwala sa mga regular nga tiggamit adunay usab gagmay nga mga pagsugod. Ilabi na alang kanila, ang mga tagsulat nagkolekta (panid 10) preconfigured software package. Ang sistema mismo hingpit nga libre - kinahanglan ka lang mogasto sa pag-host o usa ka server sa hardware aron ma-deploy kini.

Apan sa tibuuk nga paglungtad niini, ang himan wala pa nakakuha usa ka halapad nga komunidad. Bisan pa siya kay bahin sa Linux Developer Network, responsable sa pag-standardize sa bukas nga OS. Mahimong lisud Pangitaa ang tubag sa imong pangutana sa thematic forums. Apan usa sa mga residente sa Quora nakamatikod nga sa IRC chat Sa Freenode, ang mga miyembro sa komunidad dali nga motubag. Ang problema sa usa ka gamay nga komunidad dili global, tungod kay ang solusyon sa daghang mga problema gihulagway sa opisyal nga dokumentasyon (PDF ug EPUB). Ibid. makapangita labing maayo nga mga gawi sa pagtrabaho sa OBS (adunay mga pananglitan ug mga kaso).

Rundeck

Bukas nga himan (GitHub), nga nag-automate sa mga buluhaton sa data center ug cloud gamit ang mga script. Usa ka espesyal nga script server ang responsable sa ilang pagpatuman. Mahimo natong isulti nga ang Rundeck usa ka "anak nga babaye" sa ControlTier application management platform. Ang Rundeck mibulag niini niadtong 2010 ug nakakuha og bag-ong gamit - pananglitan, mga integrasyon sa Puppet, Chef, Git ug Jenkins.

Ang sistema kay gigamit sa Ang Walt Disney Company, Salesforce ΠΈ Ticketmaster. Apan ang proyekto angay usab alang sa mga nagsugod. Kini tungod kay ang Rundeck lisensyado ubos sa Apache v2.0 nga lisensya. Dugang pa, ang himan sayon ​​​​nga gamiton.

Usa ka residente sa Reddit nga nagtrabaho kauban ang Rundeck, miingon, nga nakasulbad sa kadaghanan sa mga kalisdanan sa akong kaugalingon. Gitabangan nila siya niini dokumentasyon ug e-libro, nga gipatik sa mga developers.

Makita usab nimo ang mubu nga mga giya sa pag-set up sa himan online:

GoCD

Bukas nga himan (GitHub) pag-automate sa pagkontrol sa bersyon sa code. Gipaila kini sa 2007 sa kompanya Mga Buhat sa Hunahuna - unya ang proyekto gitawag og Cruise.

Ang GoCD gigamit sa mga inhenyero gikan sa online nga site sa pagbaligya sa awto nga AutoTrader, serbisyo sa genealogy Ancestry ug provider sa credit card nga Barclaycard. Bisan pa, usa ka quarter sa mga tiggamit sa himan naglangkob sa gamay nga negosyo.

Ang pagkapopular sa serbisyo taliwala sa mga startup mahimong ipasabut sa pagkabukas niini - giapod-apod kini sa ilawom sa lisensya sa Apache v2.0. Sa samang higayon, ang GoCD Kini adunay mga plugins alang sa panagsama sa software sa ikatulo nga partido - mga sistema sa pagtugot ug mga solusyon sa panganod. Tinuod nga sistema medyo komplikado sa mastering - kini adunay daghang mga operator ug mga team. Usab, ang ubang mga tiggamit nagreklamo mahitungod sa dili maayo nga interface ug kinahanglanon i-configure ang mga ahente alang sa scaling.

CICD alang sa mga startup: unsa nga mga himan ang anaa ug nganong dili lamang mga dagko ug iladong mga kompanya ang naggamit niini
--ΠžΡ‚ΠΎ - Matt Wildbore - Unsplash

Kung gusto nimong sulayan ang GoCD sa praktis, makit-an nimo sa website sa proyekto opisyal nga dokumentasyon. Mahimo usab kini irekomendar isip tinubdan sa dugang impormasyon GoCD Developer Blog uban sa mga manwal pinaagi sa setup.

Jenkins

Si Jenkins kay kaylap nga nailhan ug считаСтся usa ka matang sa sumbanan sa natad sa CICD - siyempre, kung wala kini kini nga pagpili dili hingpit nga kompleto. Ang himan nagpakita sa 2011, pagkahimong usa ka tinidor sa Project Hudson gikan sa Oracle.

Karon kauban si Jenkins Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ sa NASA, Nintendo ug uban pang dagkong organisasyon. Hinuon labaw sa 8% Ang mga tiggamit nag-asoy sa gagmay nga mga grupo nga hangtod sa napulo ka mga tawo. Ang produkto hingpit nga libre ug giapod-apod ubos sa lisensya sa MIT. Bisan pa, kinahanglan nimo nga i-host ug i-configure ang Jenkins sa imong kaugalingon - nanginahanglan kini usa ka dedikado nga server.

Sa tibuok nga paglungtad sa instrumento, usa ka dako nga komunidad ang naporma sa palibot niini. Ang mga tiggamit aktibo nga nakigsulti sa mga thread sa Reddit ΠΈ Google Groups. Ang mga materyal sa Jenkins kanunay usab nga makita sa HabrΓ©. Kung gusto nimo nga mahimong bahin sa komunidad ug magsugod sa pagtrabaho kauban si Jenkins, adunay opisyal nga dokumentasyon ΠΈ giya sa developer. Girekomenda usab namo ang mosunod nga mga giya ug libro:

Ang Jenkins adunay daghang mapuslanon nga mga proyekto sa kilid. Ang una usa ka plugin Pag-configure ingon Code. Gipasayon ​​niini ang pag-set up sa Jenkins sa mga API nga dali basahon nga bisan ang mga admin nga walay lawom nga kahibalo sa himan masabtan. Ang ikaduha mao ang sistema Jenkins X para sa panganod. Gipadali niini ang paghatud sa mga aplikasyon nga gipakatap sa dako nga imprastraktura sa IT pinaagi sa pag-automate sa pipila nga naandan nga mga buluhaton.

Buildbot

Kini usa ka padayon nga sistema sa panagsama alang sa pag-automate sa siklo sa pagtukod ug pagsulay sa mga aplikasyon. Awtomatiko nga gisusi niini ang pagpaandar sa code matag higayon nga adunay mga pagbag-o nga gihimo niini.

Ang tagsulat sa himan mao ang engineer nga si Brian Warner. Karon naa siyay duty nausab ang Buildbot Oversight Committee initiative group, nga naglakip sa unom ka developers.

Buildbot gigamit mga proyekto sama sa LLVM, MariaDB, Blender ug Dr.Web. Apan gigamit usab kini sa gagmay nga mga proyekto sama sa wxWidgets ug Flathub. Gisuportahan sa sistema ang tanan nga modernong VCS ug adunay flexible setting sa pagtukod pinaagi sa paggamit sa Python aron ihulagway kini. Makatabang kini kanimo sa pag-atubang kanilang tanan. opisyal nga dokumentasyon ug mga tutorial sa ikatulo nga partido, pananglitan, ania ang usa ka mubo IBM nga manwal.

Siyempre, dili lang kana Mga himan sa DevOps nga kinahanglan hatagan pagtagad sa gagmay nga mga organisasyon ug mga startup. Ihatag ang imong paborito nga mga himan sa mga komentaryo, ug kami mosulay sa paghisgot mahitungod niini sa usa sa mosunod nga mga materyales.

Unsa ang among gisulat sa corporate blog:

Source: www.habr.com

Idugang sa usa ka comment