CICD për startup-et: çfarë mjetesh ekzistojnë dhe pse jo vetëm kompanitë e mëdha dhe të njohura i përdorin ato

Zhvilluesit e mjeteve CICD shpesh listojnë kompani të mëdha si klientë - Microsoft, Oculus, Red Hat, madje edhe Ferrari dhe NASA. Duket se markat e tilla funksionojnë vetëm me sisteme të shtrenjta që një startup i përbërë nga disa zhvillues dhe një projektues nuk mund t'i përballojë. Por një pjesë e konsiderueshme e mjeteve është në dispozicion për ekipet e vogla.

Ne do t'ju tregojmë se çfarë mund t'i kushtoni vëmendje më poshtë.

CICD për startup-et: çfarë mjetesh ekzistojnë dhe pse jo vetëm kompanitë e mëdha dhe të njohura i përdorin ato
Фото - Csaba Balazs - Zhduk

PHP Censor

Një server CI me burim të hapur që e bën të lehtë ndërtimin e projekteve në PHP. Kjo është një pjesë e projektit PHPCI. Vetë PHPCI është ende duke u zhvilluar, por jo aq aktivisht si më parë.

PHP Censor mund të punojë me GitHub, GitLab, Mercurial dhe disa depo të tjera. Për të testuar kodin, mjeti përdor bibliotekat Atoum, PHP Spec, Behat, Codeception. Këtu skedar shembull konfigurimet për rastin e parë:

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

Është konsideruarse PHP Censor është i përshtatshëm për vendosjen e projekteve të vogla, por do t'ju duhet ta organizoni dhe konfiguroni vetë (të vetë-strehuar). Kjo detyrë është thjeshtuar nga dokumentacioni mjaft i detajuar - është në GitHub.

Rex

Rex është shkurtimi i "Remote Execution". Sistemi u zhvillua nga inxhinieri Ferenc Erki për të automatizuar proceset në qendrën e të dhënave. Rex bazohet në skriptet Perl, por nuk është e nevojshme të njihni këtë gjuhë për të bashkëvepruar me mjetin - shumica e operacioneve (për shembull, kopjimi i skedarëve) përshkruhen në bibliotekën e funksioneve dhe skriptet shpesh përshtaten në dhjetë rreshta. Këtu është një shembull për hyrjen në serverë të shumtë dhe ekzekutimin e kohës së funksionimit:

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

Ne ju rekomandojmë të filloni njohjen tuaj me mjetin me udhëzues zyrtar и e-libër, e cila aktualisht është në përfundim.

Shërbimi i Hapjes së Ndërtimit (OBS)

Kjo është një platformë për optimizimin e zhvillimit të shpërndarjeve. Kodi i tij është i hapur dhe është në depo në GitHub. Autori i mjetit është kompania Novell. Ajo mori pjesë në zhvillimin e shpërndarjes SuSE, dhe ky projekt fillimisht u quajt openSUSE Build Service. Nuk është çudi që Open Build Service përdorim për ndërtimin e projekteve në openSUSE, Tizen dhe VideoLAN. Dell, SGI dhe Intel gjithashtu punojnë me mjetin. Por midis përdoruesve të rregullt ka edhe startup të vegjël. Veçanërisht për ta, autorët mblodhën (faqe 10) i parakonfiguruar paketë softuerike. Vetë sistemi është plotësisht falas - ju vetëm duhet të shpenzoni para për pritjen ose një server harduerësh për ta vendosur atë.

Por gjatë gjithë ekzistencës së tij, mjeti nuk ka fituar kurrë një komunitet të gjerë. Edhe pse ai ishte pjesë e Rrjetit të Zhvilluesve Linux, përgjegjës për standardizimin e sistemit operativ të hapur. Mund të jetë e vështirë Gjeni përgjigjen për pyetjen tuaj në forume tematike. Por një nga banorët e Quora vuri në dukje se në IRC chat Në Freenode, anëtarët e komunitetit përgjigjen mjaft lehtë. Problemi i një komuniteti të vogël nuk është global, pasi është përshkruar zgjidhja e shumë problemeve në dokumentacionin zyrtar (PDF dhe EPUB). Po aty. mund të gjeni praktikat më të mira për të punuar me OBS (ka shembuj dhe raste).

Rundeck

Vegla e hapur (GitHub), i cili automatizon detyrat në qendrën e të dhënave dhe cloud duke përdorur skriptet. Një server i veçantë skripti është përgjegjës për ekzekutimin e tyre. Mund të themi se Rundeck është një "bijë" e platformës së menaxhimit të aplikacionit ControlTier. Rundeck u nda prej tij në 2010 dhe fitoi funksionalitet të ri - për shembull, integrime me Puppet, Chef, Git dhe Jenkins.

Sistemi përdoret në Kompania Walt Disney, Salesforce и Ticketmaster. Por projekti është gjithashtu i përshtatshëm për startup-et. Kjo për shkak se Rundeck është i licencuar nën licencën Apache v2.0. Për më tepër, mjeti është mjaft i lehtë për t'u përdorur.

Një banor i Reddit që ka punuar me Rundeck, говорит, e cila zgjidhi vetë shumicën e vështirësive. Ata e ndihmuan atë për këtë dokumentacionin dhe librat elektronikë, publikuar nga zhvilluesit.

Ju gjithashtu mund të gjeni udhëzues të shkurtër për konfigurimin e mjetit në internet:

GoCD

Vegla e hapur (GitHub) automatizimi i kontrollit të versionit të kodit. Ajo u prezantua në vitin 2007 nga kompania Punimet e mendimit — atëherë projekti u quajt Cruise.

GoCD përdoret nga inxhinierë nga faqja online e shitjes së makinave AutoTrader, shërbimi gjenealogjik Ancestry dhe ofruesi i kartave të kreditit Barclaycard. Megjithatë, një e katërta e përdoruesve të mjeteve përbën një biznes të vogël.

Popullariteti i shërbimit midis startupeve mund të shpjegohet me hapjen e tij - ai shpërndahet nën licencën Apache v2.0. Në të njëjtën kohë, GoCD Ajo ka shtojca për integrim me softuer të palëve të treta - sisteme autorizimi dhe zgjidhje cloud. Sistemi i vërtetë mjaft e komplikuar në mastering - ka një numër të madh operatorësh dhe ekipesh. Gjithashtu, disa përdorues ankohen për ndërfaqen e dobët dhe domosdoshmëri konfiguroni agjentët për shkallëzim.

CICD për startup-et: çfarë mjetesh ekzistojnë dhe pse jo vetëm kompanitë e mëdha dhe të njohura i përdorin ato
Фото - Matt Wildbore - Zhduk

Nëse dëshironi të provoni GoCD në praktikë, mund ta gjeni në faqen e internetit të projektit dokumentacion zyrtar. Mund të rekomandohet gjithashtu si një burim informacioni shtesë Blog i Zhvilluesve të GoCD me manuale në konfigurim.

Jenkins

Jenkins është i njohur gjerësisht dhe konsiderohet një lloj standardi në fushën e CICD - sigurisht, pa të kjo përzgjedhje nuk do të ishte plotësisht e plotë. Mjeti u shfaq në 2011, duke u bërë një pirun i Projektit Hudson nga Oracle.

Sot me Jenkins работают në NASA, Nintendo dhe organizata të tjera të mëdha. Megjithatë mbi 8% përdoruesit përbëjnë ekipe të vogla deri në dhjetë persona. Produkti është plotësisht falas dhe i shpërndarë me licencë MIT. Sidoqoftë, do të duhet të strehoni dhe konfiguroni vetë Jenkins - kërkon një server të dedikuar.

Gjatë gjithë ekzistencës së instrumentit, një komunitet i madh është formuar rreth tij. Përdoruesit komunikojnë në mënyrë aktive në temat në Reddit и Grupet e Google. Materialet mbi Jenkins gjithashtu shfaqen rregullisht në Habré. Nëse dëshironi të bëheni pjesë e komunitetit dhe të filloni të punoni me Jenkins, ekziston dokumentacion zyrtar и udhëzues zhvilluesi. Ne gjithashtu rekomandojmë udhëzuesit dhe librat e mëposhtëm:

Jenkins ka disa projekte anësore të dobishme. E para është një shtojcë Konfigurimi si kod. E bën të lehtë konfigurimin e Jenkins me API të lexueshme që mund t'i kuptojnë edhe administratorët pa njohuri të thella të mjetit. E dyta është sistemi Jenkins X për renë. Ai përshpejton shpërndarjen e aplikacioneve të vendosura në infrastrukturën e IT në shkallë të gjerë duke automatizuar disa detyra rutinë.

Buildbot

Ky është një sistem i vazhdueshëm integrimi për automatizimin e ciklit të ndërtimit dhe testimit të aplikacioneve. Ai kontrollon automatikisht funksionalitetin e kodit sa herë që i bëhet ndonjë ndryshim.

Autori i mjetit ishte inxhinieri Brian Warner. Sot ai është në detyrë ndryshuar grupi iniciativ i Komitetit të Mbikëqyrjes së Buildbot, i cili përfshin gjashtë zhvillues.

Buildbot përdoret projekte të tilla si LLVM, MariaDB, Blender dhe Dr.Web. Por përdoret gjithashtu në projekte më të vogla si wxWidgets dhe Flathub. Sistemi mbështet të gjitha VCS moderne dhe ka cilësime fleksibël të ndërtimit duke përdorur Python për t'i përshkruar ato. Do t'ju ndihmojë të përballeni me të gjitha. dokumentacion zyrtar dhe mësime të palëve të treta, për shembull, këtu është një i shkurtër Manuali i IBM.

Sigurisht, kjo nuk është e gjitha Mjetet DevOps të cilave organizatat e vogla dhe startup-et duhet t'u kushtojnë vëmendje. Jepni mjetet tuaja të preferuara në komente dhe ne do të përpiqemi të flasim për to në një nga materialet e mëposhtme.

Për çfarë shkruajmë në blogun e korporatës:

Burimi: www.habr.com

Shto një koment