CICD yekutanga: ndeapi maturusi aripo uye nei kwete chete makuru uye anozivikanwa makambani anoashandisa

Vagadziri veCICD zvishandiso vanowanzo nyora makambani makuru sevatengi - Microsoft, Oculus, Red Hat, kunyange Ferrari neNASA. Zvingaite senge mhando dzakadai dzinoshanda chete nemasisitimu anodhura ayo ekutanga anoumbwa nevaviri vanogadzira uye mugadziri haakwanise. Asi chikamu chakakosha chezvishandiso chiripo kuzvikwata zvidiki.

Tichakuudza zvaunogona kuteerera pazasi.

CICD yekutanga: ndeapi maturusi aripo uye nei kwete chete makuru uye anozivikanwa makambani anoashandisa
--ΠžΡ‚ΠΎ - Csaba Balazs - unsplash

PHP Censor

Iyo yakavhurika sosi CI server inoita kuti zvive nyore kuvaka mapurojekiti muPHP. Iyi iforogo yeprojekti PHPCI. PHPCI pachayo ichiri kukura, asi kwete sekushingaira sepakutanga.

PHP Censor inogona kushanda neGitHub, GitLab, Mercurial uye mamwe akati wandei. Kuti uedze kodhi, chishandiso chinoshandisa iyo Atoum, PHP Spec, Behat, Codeception maraibhurari. Here muenzaniso faira zvigadziriso zvekutanga kesi:

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

Inofungidzirwakuti PHP Censor yakanyatsokodzera kuendesa mapurojekiti madiki, asi iwe uchafanirwa kuitisa nekuzvigadzirisa iwe pachako (self-hosted). Iri basa rinorerutswa nezvinyorwa zvakanyatsotsanangurwa - iri paGitHub.

Rex

Rex ipfupi kune Remote Execution. Iyo sisitimu yakagadziriswa nainjiniya Ferenc Erki kuti iite otomatiki maitiro munzvimbo yedata. Rex yakavakirwa paPerl zvinyorwa, asi hazvifanirwe kuziva mutauro uyu kuti udyidzane nechishandiso - mazhinji mavhisi (semuenzaniso, kukopa mafaera) anotsanangurwa muraibhurari yebasa, uye zvinyorwa zvinowanzoenderana mumitsetse gumi. Heino muenzaniso wekupinda mumaseva akawanda uye kumhanya uptime:

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

Isu tinokurudzira kutanga kuziva kwako nechokushandisa nacho official guide ΠΈ e-book, iyo iri kupedzwa iye zvino.

Vhura Build Service (OBS)

Iyi ipuratifomu yekugonesa budiriro yekugovera. Kodhi yayo yakavhurika uye iri munzvimbo inochengeterwa pa GitHub. Munyori wechishandiso ikambani Novell. Akatora chikamu mukuvandudza kwekugovera kweSuSE, uye chirongwa ichi chakatanga kunzi openSUSE Build Service. Hazvishamisi kuti Open Build Service shandisa yekuvaka mapurojekiti muOpenSUSE, Tizen uye VideoLAN. Dell, SGI neIntel vanoshandawo nechishandiso. Asi pakati pevashandisi venguva dzose kunewo madiki ekutanga. Kunyanya kwavari, vanyori vakaunganidza (peji 10) preconfigured software package. Iyo system pachayo yakasununguka zvachose - iwe unongofanira kushandisa mari pakubata kana sevha yehardware kuti uiise.

Asi mukuvapo kwayo, chishandiso hachina kumbowana nharaunda yakakura. Nyangwe aiva chikamu cheLinux Developer Network, ine mutoro wekumisa iyo yakavhurika OS. Zvinogona kuva zvakaoma Tsvaga mhinduro kumubvunzo wako pane thematic forum. Asi mumwe wevagari veQuora akacherechedza kuti mukati IRC chat PaFreenode, nhengo dzenharaunda dzinopindura zviri nyore. Chinetso chenzanga duku hachisi chenyika yose, sezvo mhinduro yezvinetso zvakawanda yakarondedzerwa muzvinyorwa zvepamutemo (PDF uye EPUB). Ibid. anogona kuwana maitiro akanakisa ekushanda neOBS (kune mienzaniso nemakesi).

Rundeck

Vhura chishandiso (GitHub), iyo inogadzirisa mabasa munzvimbo yedata uye gore uchishandisa zvinyorwa. Yakakosha script server ine basa rekuita kwavo. Tinogona kutaura kuti Rundeck "mwanasikana" weControlTier application management platform. Rundeck akaparadzaniswa nayo muna 2010 uye akawana mashandiro matsva - semuenzaniso, kubatanidzwa nePuppet, Chef, Git naJenkins.

Iyo system inoshandiswa mukati The Walt Disney Company, Salesforce ΠΈ Ticketmaster. Asi purojekiti yacho yakakodzerawo kutanga. Izvi zvinodaro nekuti Rundeck ane rezinesi pasi peApache v2.0 rezinesi. Uyezve, chishandiso chiri nyore kushandisa.

Mugari weReddit aishanda naRundeck, anoti, iyo yakagadzirisa zvizhinji zvezvinetso ndiri ndoga. Vakamubatsira nazvo zvinyorwa uye e-mabhuku, rakabudiswa nevagadziri.

Iwe unogona zvakare kuwana mapfupi madhairekitori ekumisikidza chishandiso online:

GoCD

Vhura chishandiso (GitHub) otomatiki kodhi vhezheni kutonga. Yakatangwa muna 2007 nekambani ThoughtWorks - ipapo chirongwa chakanzi Cruise.

GoCD inoshandiswa nemainjiniya kubva pamhepo yekutengesa mota saiti AutoTrader, genealogy service Ancestry uye mupi wemakadhi echikwereti Barclaycard. Zvisinei, chikamu chechina chevashandisi vezvishandiso rinoumba bhizinesi diki.

Kuzivikanwa kwesevhisi pakati pekutanga kunogona kutsanangurwa nekuvhurika kwayo - inogoverwa pasi peiyo Apache v2.0 rezinesi. Panguva imwecheteyo, GoCD ane a plugins yekubatanidzwa neyechitatu-bato software - mvumo masisitimu uye Cloud mhinduro. Chokwadi system zvakaoma hazvo mu mastering - ine nhamba huru yevashandisi nezvikwata. Zvakare, vamwe vashandisi vanonyunyuta nezve iyo isina kunaka interface uye kudikanwa gadzirisa maajenti ekuyera.

CICD yekutanga: ndeapi maturusi aripo uye nei kwete chete makuru uye anozivikanwa makambani anoashandisa
--ΠžΡ‚ΠΎ - Matt Wildbore - unsplash

Kana iwe uchida kuyedza GoCD mukuita, unogona kuwana pane webhusaiti yeprojekiti zvinyorwa zvepamutemo. Inogonawo kukurudzirwa senzvimbo yekuwedzera ruzivo GoCD Developer Blog nezvinyorwa pa setup.

Jenkins

Jenkins anozivikanwa zvakanyanya uye inofungidzirwa rudzi rwechiyero mumunda weCICD - hongu, pasina iyo sarudzo iyi yaisazove yakakwana. Chishandiso chakaonekwa muna 2011, kuva forogo yeProjekti Hudson kubva kuOracle.

Nhasi naJenkins Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ kuNASA, Nintendo nemamwe masangano makuru. Zvisinei pamusoro pe8% vashandisi vanoverengera zvikwata zvidiki zvevanhu vanosvika gumi. Chigadzirwa chacho chakasununguka zvachose uye chakagoverwa pasi peMIT rezinesi. Nekudaro, iwe uchafanirwa kugamuchira uye kugadzirisa Jenkins iwe pachako - inoda yakazvitsaurira sevha.

Pamusoro pekuvapo kwese kwechiridzwa, nzanga huru yakaupoteredza. Vashandisi vanokurukurirana mushinda pa Reddit ΠΈ Google Mapoka. Zvishandiso paJenkins zvinoonekwawo nguva dzose paHabrΓ©. Kana iwe uchida kuve chikamu chenharaunda uye wotanga kushanda naJenkins, pane zvinyorwa zvepamutemo ΠΈ developer guide. Isu tinokurudzira zvakare anotevera madhairekitori uye mabhuku:

Jenkins ane akati wandei anobatsira mapurojekiti. Yekutanga ndeye plugin Configuration seCode. Inoita kuti kumisikidza Jenkins kuve nyore neakareruka-kuverenga APIs ayo kunyange admins asina ruzivo rwakadzama rwechishandiso anogona kunzwisisa. Yechipiri ndiyo hurongwa Jenkins X nokuda kwegore. Inomhanyisa kuendeswa kwezvikumbiro zvakaiswa pane yakakura-yakakura IT masisitimu nekuita otomatiki mamwe mabasa enguva dzose.

Buildbot

Iyi inoenderera mberi yekubatanidza sisitimu ye automating yekuvaka uye yekuyedza kutenderera kwemaapplication. Iyo inoongorora otomatiki kushanda kwekodhi pese pese panoitwa shanduko pairi.

Munyori wechishandiso aiva injiniya Brian Warner. Nhasi ari pabasa zvachinja boka reBuildbot Oversight Committee, iro rinosanganisira vagadziri vatanhatu.

Buildbot inoshandiswa ne mapurojekiti akadai seLLVM, MariaDB, Blender uye Dr.Web. Asi inoshandiswawo mumapurojekiti madiki senge wxWidgets uye Flathub. Iyo sisitimu inotsigira ese azvino VCS uye ine inochinjika kuvaka marongero nekushandisa Python kuatsanangura. Zvichakubatsira kubata nazvo zvese. zvinyorwa zvepamutemo uye yechitatu-bato Tutorials, semuenzaniso, heino pfupi IBM manual.

Ichokwadi, handizvo zvoga Maturusi eDevOps ayo masangano madiki uye ekutanga anofanirwa kutarisisa. Ipa zvishandiso zvako zvaunofarira mumashoko, uye isu tichaedza kutaura pamusoro pazvo mune chimwe chezvinhu zvinotevera.

Zvatinonyora nezvazvo mubhizinesi blog:

Source: www.habr.com

Voeg