Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

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".

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

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:
Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

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 — pkg.jenkins.io/debian-stable/jenkins.io.key | I-sudo apt-key yongeza-echo 'deb pkg.jenkins.io/debian-stable yokubini/' | sudo tee -a /etc/apt/sources.list.d/je

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 localhost:8080. Inkqubo izakukwazisa ukuba ungenise igama eligqithisiweyo lokuqala lomsebenzisi oyingcambu. Le phasiwedi ikwifayile /var/lib/jenkins/secrets/initialAdminPassword.

Ngoku yonke into ilungele ukuhamba, ungaqala ukwenza i-CI/CD ihamba. Ujongano lwegraphical lwebhentshi yokusebenza lujongeka ngolu hlobo:

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

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.

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

Ufakelo lwe Linux

Ukufakela ngesandla i-TeamCity kunye ne-Tomcat servlet container, kufuneka usebenzise i-Archive ye-TeamCity: I-TeamCity .tar.gz. Khuphela ungayifumana apha.

tar -xfz TeamCity.tar.gz

/bin/runAll. sh [qalisa|misa]

Xa uqala kuqala, kufuneka ukhethe uhlobo lwesiseko sedatha apho idatha yendibano iya kugcinwa khona.

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

Ubumbeko oluhlala lukhona luqhuba localhost:8111/ kunye nearhente yokwakha ebhalisiweyo esebenza kwiPC enye.

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:

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

Amanqanaba/Imisebenzi/Imisebenzi:

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

Ufakelo lwe Linux

Ngqina "deb download.gocd.org /” | sudo tee /etc/apt/sources.list.d/gocd.list

curl Khuphela.gocd.org/GOCD-GPG-KEY.asc | I-sudo apt-key yongeza -
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 localhost: 8153.

Amandla e-GoCd:

  • Vula Umnikezi;
  • ufakelo olulula kunye noqwalaselo;
  • amaxwebhu alungileyo;

  • Ujongano olukhulu lomsebenzisi:

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

  • ukukwazi ukubonisa inyathelo ngenyathelo indlela yokusasazwa kweGoCD kwimboniselo enye:

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

  • umboniso ogqwesileyo wesakhiwo sombhobho:

Izixhobo ezi-3 ezidumileyo zokuququzelela ukuthunyelwa ngokuqhubekayo (Ukusasazwa ngokuqhubekayo)

  • 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:

umthombo: www.habr.com

Yongeza izimvo