Ukuthunyelwa ngokuqhubekayo yindlela ekhethekileyo ekuphuhlisweni kwesoftware esetyenziselwa ukukhawuleza, ngokukhuselekileyo nangokusebenzayo imisebenzi eyahlukeneyo kwisoftware.
Ingcamango ephambili kukudala inkqubo ezenzekelayo ethembekileyo evumela ukuba umphuhlisi akhuphe ngokukhawuleza umkhiqizo ogqityiweyo kumsebenzisi. Ngelo xesha, utshintsho oluqhubekayo lwenziwa kwimveliso - oku kubizwa ngokuba ngumbhobho wokuhambisa okuqhubekayo (i-CD Pipeline).
I-Skillbox iyacebisa: Ikhosi esebenzayo
"UMqulunqi we-PRO" .Siyakhumbuza: kubo bonke abafundi be "Habr" - isaphulelo se-ruble ye-10 xa ubhalisa kuyo nayiphi na ikhosi ye-Skillbox usebenzisa ikhowudi yokuphromotha "Habr".
Ukulawula ukuhamba, ungasebenzisa uluhlu olubanzi lwezixhobo, kubandakanywa zombini ezihlawulwe kwaye zikhululekile ngokupheleleyo. Eli nqaku lichaza ezithathu zezona zisombululo zidumileyo phakathi kwabaphuhlisi ezinokuba luncedo kuye wonke umdwelisi wenkqubo.
Jenkins
Iseva ye-automation yomthombo ovulekileyo ozimeleyo ngokupheleleyo. Kuyafaneleka ukusebenza kunye nokwenza ngokuzenzekelayo zonke iintlobo zemisebenzi enxulumene nokwakha, uvavanyo, ukuthumela, okanye ukuthumela isoftware.
Ubuncinci beemfuno zePC:
- 256 MB RAM, 1 GB indawo yefayile.
Elona lifanelekileyo:
- 1 GB RAM, 50 GB hard drive.
Ukuze usebenze, uya kufuna isoftwe eyongezelelweyo-iJava Runtime Environment (JRE) version 8.
Uyilo (icomputing esasaziweyo) ijongeka ngolu hlobo:
I-Jenkins Server lufakelo olujongene nokusingatha i-GUI, kunye nokulungelelanisa kunye nokwenza yonke into yokwakha.
I-Jenkins Node / Slave/Build Server - izixhobo ezinokuthi ziqwalaselwe ukwenza umsebenzi wokwakha egameni le-Master (i-node enkulu).
Ufakelo lwe Linux
Okokuqala kufuneka udibanise indawo yokugcina iJenkins kwinkqubo:
cd /tmp && wget -q -O —
Hlaziya indawo yokugcina ipakethe:
sudo uhlaziywa
Faka iJenkins:
sudo apt ukufaka ijenkins
Emva koku, iJenkins iya kufumaneka kwinkqubo nge-port engagqibekanga 8080.
Ukujonga ukusebenza, kufuneka uvule idilesi kwisikhangeli
Ngoku yonke into ilungele ukuhamba, ungaqala ukwenza i-CI/CD ihamba. Ujongano lwegraphical lwebhentshi yokusebenza lujongeka ngolu hlobo:
Jenkins Amandla:
- i-scalability ebonelelwa yi-Master/Slave Architecture;
- ukufumaneka kwe-REST XML/JSON API;
- ukukwazi ukudibanisa inani elikhulu lezandiso zibonga kwiiplagi;
- uluntu olusebenzayo nolusoloko luvela.
Umgcini:
- akukho bloko lokuhlalutya;
- ujongano olungasebenzisekiyo kakhulu.
I-TeamCity
Uphuhliso lwezorhwebo oluvela kwiJetBrains. Umncedisi ulungile ngokucwangcisa okulula kunye nojongano oluhle kakhulu. Uqwalaselo olungagqibekanga lunenani elikhulu lemisebenzi, kwaye inani leeplagi ezikhoyo lihlala lisanda.
Ifuna iJava Runtime Environment (JRE) uguqulelo 8.
Iimfuno zehardware yeseva azibalulekanga:
- RAM - 3,2 GB;
- iprosesa - ezimbini-core, 3,2 GHz;
- ijelo lonxibelelwano elinomthamo we-1 Gb/s.
Iseva ikuvumela ukuba ufezekise ukusebenza okuphezulu:
- Iiprojekthi ezingama-60 ezinobume bezakhiwo ezingama-300;
- 2 MB ulwabiwo lwelog yokwakha;
- Iiarhente zokwakha ezingama-50;
- amandla okusebenza kunye nabasebenzisi be-50 kwinguqulo yewebhu kunye nabasebenzisi be-30 kwi-IDE;
- Udibaniso lwe-100 lwe-VCS yangaphandle, ngokuqhelekileyo i-Perforce kunye nokuguqulwa. Ixesha eliqhelekileyo lokutshintsha yimizuzwana eyi-120;
- ngaphezu kwe-150 ukulungiswa ngosuku;
- ukusebenza ngesiseko sedatha kumncedisi omnye;
- Iisetingi zenkqubo yeseva yeJVM: -Xmx1100m -XX:MaxPermSize=120m.
Iimfuno ze-arhente zisekelwe ekusebenzeni kweendibano. Umsebenzi oyintloko womncedisi kukubeka iliso kuwo onke ama-agent adibeneyo kwaye asasaze iindibano ezifowunelweyo kula ma-agent ngokusekelwe kwiimfuno zokuhambelana, ukunika ingxelo yeziphumo. Iiarhente ziza kwiindidi zamaqonga kunye neenkqubo zokusebenza, kunye nemeko elungiselelwe kwangaphambili.
Lonke ulwazi malunga neziphumo zokwakha lugcinwe kwisiseko sedatha. Ngokuyintloko le yimbali kunye nezinye iinkcukacha ezifanayo, iinguqu zeVCS, ii-arhente, imigca yokwakha, i-akhawunti yomsebenzisi kunye neemvume. I-database ayibandakanyi kuphela iilogs zokwakha kunye ne-artifacts.
Ufakelo lwe Linux
Ukufakela ngesandla i-TeamCity kunye ne-Tomcat servlet container, kufuneka usebenzise i-Archive ye-TeamCity: I-TeamCity .tar.gz. Khuphela
tar -xfz TeamCity.tar.gz
/bin/runAll. sh [qalisa|misa]
Xa uqala kuqala, kufuneka ukhethe uhlobo lwesiseko sedatha apho idatha yendibano iya kugcinwa khona.
Ubumbeko oluhlala lukhona luqhuba
Amandla eTeamCity:
- ukuseta elula;
- imbonakalo-mfanekiso yeprogram elungele umsebenzisi
- inani elikhulu lemisebenzi eyakhelweyo;
- Inkonzo yenkxaso;
- kukho i-RESTful API;
- amaxwebhu alungileyo;
- ukhuseleko olulungileyo.
Umgcini:
- ukudibanisa okulinganiselwe;
- Esi sisixhobo esihlawulwayo;
- uluntu oluncinci (olu, nangona kunjalo, lukhula).
GoCD
Iprojekthi yomthombo ovulekileyo efuna iJava Runtime Environment (JRE) inguqulelo 8 yofakelo nokusebenza.
Iimfuno zenkqubo:
- RAM - 1 GB ubuncinci, ngaphezulu kungcono;
- iprosesa - i-double-core, ene-core frequency ye-2 GHz;
- hard drive - ubuncinane 1 GB indawo free.
Ummeli:
- RAM - ubuncinane 128 MB, ngokukhethekileyo ngaphezulu;
- iprosesa - ubuncinane 2 GHz.
Iseva iqinisekisa ukusebenza kweearhente kwaye ibonelela ngojongano olufanelekileyo lomsebenzisi:
Amanqanaba/Imisebenzi/Imisebenzi:
Ufakelo lwe Linux
Ngqina "deb
curl
yongeza-apt-repository ppa:openjdk-r/ppa
ukufumana ukuhlaziywa
apt-fumana ukufaka -y openjdk-8-jre
apt-fumana ukufaka i-go-server
apt-fumana ukufaka i-go-arhente
/etc/init.d/go-server [qalisa|misa|isimo|qala kwakhona]
/etc/init.d/go-agent [qalisa|stop|status|restart]
Ngokungagqibekanga iGoCd iyasebenza
Amandla e-GoCd:
- Vula Umnikezi;
- ufakelo olulula kunye noqwalaselo;
- amaxwebhu alungileyo;
- Ujongano olukhulu lomsebenzisi:
- ukukwazi ukubonisa inyathelo ngenyathelo indlela yokusasazwa kweGoCD kwimboniselo enye:
- umboniso ogqwesileyo wesakhiwo sombhobho:
- IGoCD ilungiselela ukuhamba komsebenzi kweCD kwezona ndawo zidumileyo zamafu kubandakanya iDocker, AWS;
- isixhobo senza ukuba kwenzeke ukulungisa iingxaki kumbhobho, apho kukho umkhondo walo lonke utshintsho ukusuka ekuzibopheleleni ukuya ekuhanjisweni ngexesha lokwenyani.
Umgcini:
- ubuncinane i-arhente enye iyafuneka;
- akukho console ukubonisa yonke imisebenzi egqityiweyo;
- ukuphumeza umyalelo ngamnye, kufuneka wenze umsebenzi omnye woqwalaselo lombhobho;
- Ukufakela i-plugin kufuneka uhambise ifayile ye-.jar kuyo /iiplagi/zangaphandle kwaye uqalise kwakhona umncedisi;
- uluntu oluncinci ngokwentelekiso.
Njengesiphelo
Ezi zixhobo nje ezithathu, eneneni kukho ezininzi ngakumbi. Kunzima ukukhetha, ngoko ke kufuneka unikele ingqalelo kwiinkalo ezongezelelweyo.
Ikhowudi yomthombo ovulekileyo wesixhobo yenza kube lula ukuqonda ukuba yintoni, kunye nokongeza iimpawu ezintsha ngokukhawuleza. Kodwa ukuba into ayisebenzi, ngoko kufuneka uthembele kuphela kuwe kunye noncedo loluntu. Izixhobo ezihlawulwayo zibonelela ngenkxaso enokuthi ngamanye amaxesha ibaluleke kakhulu.
Ukuba ukhuseleko yeyona nto iphambili kuwe, kufanelekile ukusebenza ngesixhobo sasekhaya. Ukuba akunjalo, ngoko ukukhetha isisombululo se-SaaS kuyindlela efanelekileyo.
Kwaye okokugqibela, ukuze uqinisekise inkqubo yokusasazwa esebenzayo ngokwenene, kufuneka uqulunqe iinqobo ezicacileyo eziya kukuvumela ukuba ucuthe uluhlu lwezixhobo ezikhoyo.
I-Skillbox iyacebisa:
- Ikhosi yokusebenza yeminyaka emibini
"Ndiyi-Web Developer PRO" .- Ikhosi ekwi-Intanethi
"C # umakhi" .- Ikhosi yonyaka osebenzayo
"Umphuhlisi we-PHP ukusuka kwi-0 ukuya kwi-PRO" .
umthombo: www.habr.com