CICD pou startups: ki zouti ki genyen e poukisa se pa sèlman gwo konpayi ki byen koni sèvi ak yo

Devlopè zouti CICD souvan lis gwo konpayi yo kòm kliyan - Microsoft, Oculus, Red Hat, menm Ferrari ak NASA. Li ta sanble ke mak sa yo sèlman travay ak sistèm chè ke yon demaraj ki gen ladan yon koup nan devlopè ak yon designer pa kapab peye. Men, yon pati enpòtan nan zouti yo disponib pou ti ekip yo.

Nou pral di ou sa ou ka peye atansyon a anba a.

CICD pou startups: ki zouti ki genyen e poukisa se pa sèlman gwo konpayi ki byen koni sèvi ak yo
Фото - Csaba Balazs — Unsplash

PHP sansi

Yon sèvè CI sous louvri ki fè li fasil pou konstwi pwojè nan PHP. Sa a se yon fouchèt nan pwojè a PHPCI. PHPCI tèt li toujou ap devlope, men se pa aktivman tankou anvan.

PHP Censor ka travay ak GitHub, GitLab, Mercurial ak plizyè lòt depo. Pou teste kòd, zouti a sèvi ak bibliyotèk Atoum, PHP Spec, Behat, Codeception. Isit la dosye egzanp konfigirasyon pou premye ka a:

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

Konsidereke PHP Censor byen adapte pou deplwaye ti pwojè, men ou pral oblije òganize ak konfigirasyon li tèt ou (oto-hosted). Travay sa a senplifye pa dokiman jistis detaye - li nan GitHub.

Rex

Rex se kout pou Egzekisyon Remote. Sistèm nan te devlope pa enjenyè Ferenc Erki pou otomatize pwosesis nan sant done a. Rex baze sou scripts Perl, men li pa nesesè pou konnen lang sa a pou kominike avèk zouti a - pifò operasyon yo (pa egzanp, kopye fichye) yo dekri nan bibliyotèk fonksyon an, epi scripts souvan anfòm nan dis liy. Isit la se yon egzanp pou konekte nan plizyè sèvè ak kouri 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;
};

Nou rekòmande kòmanse konesans ou ak zouti a ak gid ofisyèl и e-liv, ki aktyèlman ap fini.

Sèvis Konstriksyon Louvri (OBS)

Sa a se yon platfòm pou optimize devlopman distribisyon yo. Kòd li a louvri epi li nan depo a nan GitHub. Otè a nan zouti a se konpayi an Novell. Li te patisipe nan devlopman distribisyon SuSE, e pwojè sa a te okòmansman rele sèvis OpenSUSE Build. Li pa etone ke Open Build Service itilize pou bati pwojè nan openSUSE, Tizen ak VideoLAN. Dell, SGI ak Intel travay tou ak zouti a. Men, pami itilizatè regilye yo gen tou ti demaraj. Espesyalman pou yo, otè yo kolekte (paj la) prekonfigire pake lojisyèl. Sistèm nan tèt li se konplètman gratis - ou sèlman bezwen depanse lajan sou hosting oswa yon sèvè pyès ki nan konpitè deplwaye li.

Men, pandan tout egzistans li, zouti a pa janm akeri yon kominote lajè. Malgre ke li te ye yon pati nan Linux Developer Network, responsab pou estandadize eksplwatasyon an louvri. Li kapab difisil Jwenn repons pou kesyon ou a sou fowòm tematik. Men, youn nan rezidan Quora yo te note ke nan IRC chat Sou Freenode, manm kominote yo reponn byen fasil. Pwoblèm nan yon ti kominote pa mondyal, depi solisyon an nan anpil pwoblèm yo te dekri nan dokiman ofisyèl yo (PDF ak EPUB). Ibid. ka jwenn meyè pratik pou travay ak OBS (gen egzanp ak ka).

Rundeck

Louvri zouti (GitHub), ki otomatize travay nan sant done ak nwaj lè l sèvi avèk scripts. Yon sèvè script espesyal ki responsab pou ekzekisyon yo. Nou ka di Rundeck se yon "pitit fi" platfòm jesyon aplikasyon ControlTier. Rundeck te separe de li an 2010 epi li te akeri nouvo fonksyonalite - pou egzanp, entegrasyon ak Puppet, Chef, Git ak Jenkins.

Se sistèm nan itilize nan Walt Disney Konpayi an, Salesforce и Ticketmaster. Men, pwojè a se tou apwopriye pou demaraj. Sa a se paske Rundeck gen lisans anba Apache v2.0 lisans. Anplis, zouti a se byen fasil yo sèvi ak.

Yon rezidan Reddit ki te travay ak Rundeck, di, ki rezoud pi fò nan difikilte yo poukont mwen. Yo te ede l ak sa dokiman ak e-liv, pibliye pa devlopè yo.

Ou ka jwenn tou kout gid pou mete zouti a sou entènèt:

GoCD

Louvri zouti (GitHub) otomatik kontwòl vèsyon kòd. Li te prezante nan 2007 pa konpayi an ThoughtWorks — Lè sa a, pwojè a te rele Cruise.

GoCD yo itilize pa enjenyè nan sit lavant machin sou entènèt AutoTrader, sèvis jeneyaloji Ancestry ak founisè kat kredi Barclaycard. Sepandan, yon ka nan itilizatè zouti konstitye ti biznis.

Popilarite sèvis la nan mitan demaraj ka eksplike pa ouvèti li yo - li distribye anba lisans Apache v2.0. An menm tan an, GoCD Li te gen grefon pou entegrasyon ak lojisyèl twazyèm pati - sistèm otorizasyon ak solisyon nwaj. Vrè sistèm byen konplike nan metrize - li gen yon gwo kantite operatè ak ekip. Epitou, kèk itilizatè plenyen sou koòdone nan pòv ak bezwen konfigirasyon ajan pou dekale.

CICD pou startups: ki zouti ki genyen e poukisa se pa sèlman gwo konpayi ki byen koni sèvi ak yo
Фото - Matt Wildbore — Unsplash

Si ou vle eseye GoCD nan pratik, ou ka jwenn sou sit entènèt pwojè a dokiman ofisyèl yo. Li kapab tou rekòmande kòm yon sous enfòmasyon adisyonèl GoCD Developer Blog ak manyèl yo pa mete.

Jenkins

Jenkins se lajman li te ye ak konsidere kòm yon kalite estanda nan domèn CICD - nan kou, san li seleksyon sa a pa ta dwe totalman konplè. Zouti a te parèt an 2011, vin yon fouchèt nan Pwojè Hudson soti nan Oracle.

Jodi a ak Jenkins rabè nan NASA, Nintendo ak lòt gwo òganizasyon. Sepandan plis pase 8% itilizatè yo kont pou ti ekip ki gen jiska dis moun. Pwodwi a se konplètman gratis epi distribye anba lisans MIT. Sepandan, ou pral oblije òganize ak konfigirasyon Jenkins tèt ou - li mande pou yon sèvè devwe.

Pandan tout egzistans enstriman an, yon gwo kominote te fòme alantou li. Itilizatè yo aktivman kominike nan fil sou Reddit и Gwoup Google yo. Materyèl sou Jenkins parèt tou regilyèman sou Habré. Si ou ta renmen vin yon pati nan kominote a epi kòmanse travay ak Jenkins, genyen dokiman ofisyèl yo и gid pwomotè. Nou rekòmande tou gid ak liv sa yo:

Jenkins gen plizyè pwojè segondè itil. Premye a se yon plugin Konfigirasyon kòm Kòd. Li fè konfigirasyon Jenkins fasil ak API fasil pou li ke menm administratè ki pa gen konesans pwofon nan zouti a ka konprann. Dezyèm lan se sistèm lan Jenkins X pou nwaj la. Li akselere livrezon aplikasyon yo deplwaye sou gwo enfrastrikti IT nan otomatize kèk travay woutin.

Buildbot

Sa a se yon sistèm entegrasyon kontinyèl pou otomatize sik konstriksyon ak tès aplikasyon yo. Li otomatikman tcheke fonksyonalite kòd la chak fwa yo fè nenpòt chanjman nan li.

Otè zouti a se te enjenyè Brian Warner. Jodi a li nan devwa chanje gwoup inisyativ Komite Sipèvizyon Buildbot la, ki gen ladan sis devlopè.

Buildbot se itilize pwojè tankou LLVM, MariaDB, Blender ak Dr.Web. Men, li se tou itilize nan pi piti pwojè tankou wxWidgets ak Flathub. Sistèm nan sipòte tout VCS modèn epi li gen paramèt bati fleksib lè l sèvi avèk Python pou dekri yo. Li pral ede w fè fas ak yo tout. dokiman ofisyèl yo ak tutoryèl twazyèm pati, pou egzanp, isit la nan yon kout IBM manyèl.

Natirèlman, sa se pa tout Zouti DevOps ke ti òganizasyon ak startups ta dwe peye atansyon sou yo. Bay zouti pi renmen ou yo nan kòmantè yo, epi nou pral eseye pale sou yo nan youn nan materyèl sa yo.

Ki sa nou ekri sou blog antrepriz la:

Sous: www.habr.com

Add nouvo kòmantè