CICD no nā hoʻomaka: he aha nā mea hana ma laila a no ke aha ʻaʻole hoʻohana wale nā ​​hui nui a kaulana hoʻi

Hoʻonohonoho pinepine nā mea hoʻomohala o nā mea hana CICD i nā hui nui e like me nā mea kūʻai aku - Microsoft, Oculus, Red Hat, ʻo Ferrari a me NASA. Me he mea lā e hana wale ana kēlā mau hōʻailona me nā ʻōnaehana kumukūʻai i hiki ʻole i ka hoʻomaka ʻana o nā mea hoʻomohala ʻelua a me ka mea hoʻolālā. Akā, aia kahi hapa nui o nā mea hana no nā hui liʻiliʻi.

E haʻi mākou iā ʻoe i ka mea āu e hoʻolohe ai ma lalo nei.

CICD no nā hoʻomaka: he aha nā mea hana ma laila a no ke aha ʻaʻole hoʻohana wale nā ​​hui nui a kaulana hoʻi
Ото - Csaba Balazs — Unsplash

Helu PHP

He kikowaena CI open source e maʻalahi ke kūkulu i nā papahana ma PHP. He mākia kēia o ka papahana PHPCI. Ke hoʻomohala nei ʻo PHPCI ponoʻī, akā ʻaʻole e like me ka wā ma mua.

Hiki i ka PHP Censor ke hana pū me GitHub, GitLab, Mercurial a me nā waihona ʻē aʻe. No ka hoʻāʻo ʻana i ke code, hoʻohana ka mea hana i nā waihona Atoum, PHP Spec, Behat, Codeception. Eia waihona laʻana nā hoʻonohonoho no ka hihia mua:

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

Manaʻo ʻiaUa kūpono kēlā PHP Censor no ka hoʻolālā ʻana i nā papahana liʻiliʻi, akā pono ʻoe e hoʻokipa a hoʻonohonoho iā ʻoe iho (hoʻokipa ponoʻī). Ua maʻalahi kēia hana e nā palapala kikoʻī kikoʻī - aia ma GitHub.

Hōʻike

He pōkole ʻo Rex no ka hoʻokō mamao. Ua hoʻomohala ʻia ka ʻōnaehana e ka ʻenekini Ferenc Erki e hoʻomaʻamaʻa i nā kaʻina hana ma ke kikowaena data. Hoʻokumu ʻia ʻo Rex ma nā palapala Perl, akā ʻaʻole pono e ʻike i kēia ʻōlelo e launa pū me ka hāmeʻa - ʻo ka hapa nui o nā hana (no ka laʻana, kope ʻana i nā faila) i wehewehe ʻia i loko o ka waihona hana, a hoʻokomo pinepine ʻia nā palapala i nā laina he ʻumi. Eia kahi laʻana no ka hoʻopaʻa inoa ʻana i nā kikowaena he nui a me ka holo ʻana i ka manawa:

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

Paipai mākou e hoʻomaka i kāu kamaʻāina me ka mea hana me alakaʻi kūhelu и e-puke, e hoʻopau ʻia nei i kēia manawa.

Wehe Build Service (OBS)

He kahua kēia no ka hoʻomohala ʻana i nā māhele. Ua wehe ʻia kona code a aia i loko o ka waihona ma GitHub. ʻO ka mea kākau o ka mea hana ka hui Nūhou. Ua komo ʻo ia i ka hoʻomohala ʻana i ka hāʻawi ʻana i ka SuSE, a ua kapa ʻia kēia papahana ʻo OpenSUSE Build Service. ʻAʻole ia he mea kupanaha i ka Open Build Service hoʻohana no ke kūkulu ʻana i nā papahana ma openSUSE, Tizen a me VideoLAN. Hana pū ʻo Dell, SGI a me Intel me ka mea hana. Akā ma waena o nā mea hoʻohana maʻamau he mau hoʻomaka liʻiliʻi. No lākou, ua hōʻiliʻili nā mea kākau (ʻaoʻao 10) i hoʻonohonoho mua ʻia pūʻolo polokalamu. ʻAʻole manuahi ka ʻōnaehana ponoʻī - pono ʻoe e hoʻolilo i ke kālā ma ka hoʻokipa ʻana a i ʻole kahi kikowaena lako lako e kau ai.

Akā i kona ola ʻana, ʻaʻole i loaʻa i ka hāmeʻa kahi kaiāulu ākea. ʻOiai ʻo ia ʻāpana o ka Linux Developer Network, kuleana no ka hoʻohālikelike ʻana i ka OS wehe. Hiki ke paʻakikī E ʻimi i ka pane i kāu nīnau ma nā ʻaha kumuhana. Akā ua ʻike kekahi o nā kamaʻāina Quora i kēlā Kamaʻilio IRC Ma Freenode, pane maʻalahi nā lālā o ke kaiāulu. ʻAʻole honua ka pilikia o kahi kaiāulu liʻiliʻi, no ka mea, ua wehewehe ʻia ka hopena o nā pilikia he nui ma ka palapala oihana (PDF a me EPUB). Ibid. hiki ke loaʻa nā hana maikaʻi loa no ka hana ʻana me OBS (he mau laʻana a me nā hihia).

Rundeck

mea hana wehe (GitHub), ka mea e hoʻohana i nā hana ma ke kikowaena ʻikepili a me ke ao me ka hoʻohana ʻana i nā palapala. ʻO kahi kikowaena script kūikawā ke kuleana no kā lākou hoʻokō. Hiki iā mākou ke ʻōlelo he "kaikamahine" ʻo Rundeck o ka papahana hoʻokele noi noi ControlTier. Ua hoʻokaʻawale ʻia ʻo Rundeck mai ia ma 2010 a loaʻa i nā hana hou - no ka laʻana, hoʻohui pū me Puppet, Chef, Git a me Jenkins.

Hoʻohana ʻia ka ʻōnaehana ma 'O ka Walt Disney Company, Salesforce и ʻO ka Ticketmaster. Akā, kūpono ka papahana no nā hoʻomaka. ʻO kēia no ka mea ua laikini ʻia ʻo Rundeck ma lalo o ka laikini Apache v2.0. Eia kekahi, maʻalahi ka hoʻohana ʻana i ka mea hana.

He kama'āina Reddit i hana pū me Rundeck, e'ōlelo ana, ka mea i hoʻoponopono i ka hapa nui o nā pilikia ma oʻu iho. Ua kōkua lākou iā ia i kēia palapala a me nā e-puke, paʻi ʻia e nā mea hoʻomohala.

Hiki iā ʻoe ke ʻimi i nā alakaʻi pōkole no ka hoʻonohonoho ʻana i ka hāmeʻa ma ka pūnaewele:

HeleCD

mea hana wehe (GitHub) ka hoʻokolo ʻana i ka mana code code. Ua hoʻolauna ʻia ma 2007 e ka hui Kamaile - a laila ua kapa ʻia ka papahana ʻo Cruise.

Hoʻohana ʻia ʻo GoCD e nā ʻenekinia mai ka pūnaewele kūʻai kaʻa pūnaewele ʻo AutoTrader, lawelawe moʻokūʻauhau Ancestry a me ka mea hāʻawi kāleka hōʻaiʻē Barclaycard. Eia naʻe, he hapahā o nā mea hoʻohana he ʻoihana liʻiliʻi.

Hiki ke wehewehe ʻia ka kaulana o ka lawelawe ma waena o nā hoʻomaka e kona wehe ʻana - ua māhele ʻia ma lalo o ka laikini Apache v2.0. I ka manawa like, ʻo GoCD he nā plugins no ka hoʻohui ʻana me nā polokalamu ʻaoʻao ʻekolu - nā ʻōnaehana ʻae a me nā ʻōnaehana kapuaʻi. Pūnaehana ʻoiaʻiʻo paʻakikī loa i ka haku ʻana - he nui nā mea hana a me nā hui. Eia kekahi, ke hoʻopiʻi nei kekahi mau mea hoʻohana e pili ana i ka interface maikaʻi ʻole a pono hoʻonohonoho i nā mea hana no ka scaling.

CICD no nā hoʻomaka: he aha nā mea hana ma laila a no ke aha ʻaʻole hoʻohana wale nā ​​hui nui a kaulana hoʻi
Ото - Matt Wildbore — Unsplash

Inā makemake ʻoe e hoʻāʻo iā GoCD ma ka hoʻomaʻamaʻa, hiki iā ʻoe ke loaʻa ma ka pūnaewele papahana palapala kūhelu. Hiki ke ʻōlelo ʻia ma ke ʻano he kumu no ka ʻike hou aku GoCD Developer Blog me nā lima lima ma ka hoʻonohonoho.

ʻO Jenkins

ʻIke nui ʻia ʻo Jenkins a ʻikeʻia kahi ʻano maʻamau ma ke kahua o CICD - ʻoiaʻiʻo, me ka ʻole o kēia koho ʻaʻole e pau loa. Ua ʻike ʻia ka mea hana ma 2011, lilo ana he mākia o Project Hudson mai Oracle.

I kēia lā me Jenkins работают ma NASA, Nintendo a me nā hui nui ʻē aʻe. Eia naʻe ma luna o 8% helu nā mea hoʻohana i nā hui liʻiliʻi a hiki i ka ʻumi kānaka. ʻAʻole manuahi ka huahana a hoʻolaha ʻia ma lalo o ka laikini MIT. Eia nō naʻe, pono ʻoe e hoʻokipa a hoʻonohonoho iā Jenkins iā ʻoe iho - pono ia i kahi kikowaena paʻa.

Ma ke ola holoʻokoʻa o ka mea kani, ua hoʻokumu ʻia kahi kaiāulu nui a puni ia. Ke kamaʻilio ikaika nei nā mea hoʻohana ma nā pae ma LIKE и Nā Pūʻulu Google. Hōʻike mau ʻia nā mea ma Jenkins ma Habré. Inā makemake ʻoe e lilo i ʻāpana o ke kaiāulu a hoʻomaka e hana pū me Jenkins, aia palapala kūhelu и alakaʻi hoʻomohala. Paipai mākou i nā alakaʻi a me nā puke:

He mau papahana ʻaoʻao pono ʻo Jenkins. ʻO ka mea mua he plugin Hoʻonohonoho like Code. He mea maʻalahi ka hoʻonohonoho ʻana iā Jenkins me nā API maʻalahi e heluhelu a hiki i nā mea hoʻokele me ka ʻike hohonu ʻole o ka hāmeʻa hiki ke hoʻomaopopo. ʻO ka lua ka ʻōnaehana Jenkins X no ke ao. Hoʻolalelale ia i ka hāʻawi ʻana i nā noi i kau ʻia ma ka ʻenehana IT nui ma o ka hoʻomaʻamaʻa ʻana i kekahi mau hana maʻamau.

Buildbot

He ʻōnaehana hoʻohui mau kēia no ka hoʻomaʻamaʻa ʻana i ke kūkulu ʻana a me ka hoʻāʻo ʻana o nā noi. E nānā 'akomi i ka hana o ke code i kēlā me kēia manawa i hoʻololi ʻia.

ʻO Brian Warner ka mea kākau o ka mea hana. I kēia lā aia kāna hana hoololi ka Buildbot Oversight Committee initiative pūʻulu, e komo pū ana me ʻeono mau mea hoʻomohala.

Buildbot i ʻ a? nā papahana e like me LLVM, MariaDB, Blender a me Dr.Web. Akā hoʻohana ʻia i nā papahana liʻiliʻi e like me wxWidgets a me Flathub. Kākoʻo ka ʻōnaehana i nā VCS o kēia manawa a loaʻa iā ia nā hoʻonohonoho kūkulu maʻalahi me ka hoʻohana ʻana iā Python e wehewehe iā lākou. E kōkua iā ʻoe e hana me lākou a pau. palapala kūhelu a me nā ʻaoʻao ʻekolu, no ka laʻana, eia kahi pōkole IBM manual.

ʻOiai, ʻAʻole ʻo ia wale nō ʻO nā mea hana DevOps e nānā pono ai nā hui liʻiliʻi a me nā hoʻomaka. E hāʻawi i kāu mau mea hana punahele ma nā manaʻo, a e ho'āʻo mākou e kamaʻilio e pili ana iā lākou ma kekahi o kēia mau mea.

He aha kā mākou e kākau ai ma ka blog hui:

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka