3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

Tha cleachdadh leantainneach na dhòigh-obrach sònraichte ann an leasachadh bathar-bog a thathas a’ cleachdadh gus diofar ghnìomhan ann am bathar-bog a chuir an gnìomh gu luath, gu sàbhailte agus gu h-èifeachdach.

Is e am prìomh bheachd pròiseas fèin-ghluasadach earbsach a chruthachadh a leigeas leis an leasaiche an toradh crìochnaichte a lìbhrigeadh gu sgiobalta don neach-cleachdaidh. Aig an aon àm, thathas a’ dèanamh atharrachaidhean cunbhalach air cinneasachadh - canar loidhne-phìoban lìbhrigidh leantainneach (CD Pipeline) ris an seo.

Tha Skillbox a’ moladh: Cùrsa practaigeach "Mobile Developer PRO".

Tha sinn a ’cur nar cuimhne: airson a h-uile leughadair de "Habr" - lasachadh de 10 rubles nuair a chlàraicheas tu ann an cùrsa sam bith Skillbox a 'cleachdadh a' chòd adhartachaidh "Habr".

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

Gus smachd a chumail air an t-sruth, faodaidh tu raon farsaing de dh'innealan a chleachdadh, a 'gabhail a-steach an dà chuid pàighte agus gu tur an-asgaidh. Tha an artaigil seo a 'toirt cunntas air trì de na fuasglaidhean as mòr-chòrdte am measg luchd-leasachaidh a dh'fhaodas a bhith feumail do gach prògramadair.

Jenkins

Frithealaiche fèin-ghluasaid stòr fosgailte gu tur fèin-chumanta. Is fhiach obrachadh leis gus gach seòrsa gnìomh co-cheangailte ri togail, deuchainn, luingearachd no cleachdadh bathar-bog a dhèanamh fèin-ghluasadach.

Riatanasan PC as ìsle:

  • 256 MB de RAM, àite faidhle 1 GB.

Optimal:

  • 1 GB RAM, cruth cruaidh 50 GB.

Gus obrachadh, bidh feum agad air bathar-bog a bharrachd - Java Runtime Environment (JRE) dreach 8.

Tha an ailtireachd (coimpiutaireachd sgaoilte) a’ coimhead mar seo:
3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

Tha Jenkins Server na stàladh a tha an urra ri aoigheachd GUI, a bharrachd air a bhith ag eagrachadh agus a’ cur an gnìomh an togail gu lèir.

Jenkins Node / Slave / Build Server - innealan a ghabhas rèiteachadh gus obair togail a dhèanamh às leth a’ Mhaighstir (prìomh nód).

Stàladh airson Linux

An toiseach feumaidh tu stòr Jenkins a chuir ris an t-siostam:

cd / tmp && wget -q -O - pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key cuir ris - mac-talla 'deb pkg.jenkins.io/debian-stàball dàna/' | sudo tee -a /etc/apt/sources.list.d/je

Ùraich an stòr pacaid:

ùrachadh apt sudo

Stàlaich Jenkins:

sudo apt stàlaich jenkins

Às deidh seo, bidh Jenkins ri fhaighinn san t-siostam tron ​​​​phort bunaiteach 8080.

Gus sgrùdadh a dhèanamh air gnìomhachd, feumaidh tu an seòladh fhosgladh sa bhrobhsair localhost:8080. Brosnaichidh an siostam an uairsin thu gus am facal-faire tùsail a chuir a-steach airson an neach-cleachdaidh freumh. Tha am facal-faire seo suidhichte anns an fhaidhle /var/lib/jenkins/secrets/initialAdminPassword.

A-nis gu bheil a h-uile dad deiseil airson a dhol, faodaidh tu tòiseachadh air sruthan CI / CD a chruthachadh. Tha eadar-aghaidh grafaigeach a’ bheing-obrach a’ coimhead mar seo:

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

Neartan Jenkins:

  • scalability air a thoirt seachad le ailtireachd Maighstir / Tràillean;
  • cothrom air REST XML/JSON API;
  • an comas àireamh mhòr de leudachadh a cheangal le taing do plugins;
  • coimhearsnachd gnìomhach agus a’ sìor atharrachadh.

Cons:

  • chan eil bloc anailis ann;
  • eadar-aghaidh nach eil gu math furasta a chleachdadh.

TeamCity

Leasachadh malairteach bho JetBrains. Tha am frithealaiche math le suidheachadh sìmplidh agus eadar-aghaidh sàr-mhath. Tha àireamh mhòr de dhleastanasan aig an rèiteachadh bunaiteach, agus tha an àireamh de plugins a tha rim faighinn a’ sìor dhol am meud.

Feumaidh Java Runtime Environment (JRE) dreach 8.

Chan eil riatanasan bathar-cruaidh an fhrithealaiche deatamach:

  • RAM - 3,2 GB;
  • pròiseasar - dà-cridhe, 3,2 GHz;
  • sianal conaltraidh le comas 1 Gb / s.

Leigidh am frithealaiche leat àrd-choileanadh a choileanadh:

  • 60 pròiseact le 300 rèiteachadh togail;
  • riarachadh 2 MB airson log togail;
  • 50 àidseantan togail;
  • an comas a bhith ag obair le 50 neach-cleachdaidh san dreach lìn agus 30 neach-cleachdaidh san IDE;
  • 100 ceangal de VCS taobh a-muigh, mar as trice Perforce agus Subversion. Is e an ùine atharrachaidh cuibheasach 120 diogan;
  • barrachd air atharrachaidhean 150 gach latha;
  • ag obair leis an stòr-dàta air aon fhrithealaiche;
  • Roghainnean pròiseas frithealaiche JVM: -Xmx1100m -XX:MaxPermSize=120m.

Tha riatanasan àidseant stèidhichte air co-chruinneachaidhean ruith. Is e prìomh obair an fhrithealaiche sùil a chumail air a h-uile riochdaire ceangailte agus co-chruinneachaidhean ciudha a sgaoileadh gu na riochdairean sin stèidhichte air riatanasan co-chòrdalachd, ag aithris air na toraidhean. Bidh riochdairean a’ tighinn ann an grunn àrd-ùrlaran agus siostaman obrachaidh, a bharrachd air àrainneachd ro-shuidhichte.

Tha a h-uile fiosrachadh mu thoraidhean an togail air a stòradh san stòr-dàta. Gu sònraichte is e seo eachdraidh agus dàta eile den aon seòrsa, atharrachaidhean VCS, riochdairean, ciudhaichean togail, cunntasan cleachdaiche agus ceadan. Chan eil an stòr-dàta a’ toirt a-steach ach logaichean togail agus artifacts.

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

Stàladh airson Linux

Gus TeamCity a stàladh le làimh le inneal servlet Tomcat, bu chòir dhut an tasglann TeamCity a chleachdadh: TeamCity .tar.gz. Luchdaich sìos gheibh thu e às an seo.

tar -xfz TeamCity.tar.gz

/bin/runAll. sh [tòisich | stad]

Nuair a thòisicheas tu an toiseach, feumaidh tu an seòrsa stòr-dàta a thaghadh anns am bi an dàta cruinneachaidh air a stòradh.

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

Bidh an rèiteachadh bunaiteach a 'ruith air adhart localhost: 8111/ le aon àidseant togail clàraichte a’ ruith air an aon PC.

Neartan TeamCity:

  • suidheachadh sìmplidh;
  • eadar-aghaidh furasta a chleachdadh;
  • àireamh mhòr de ghnìomhan a-staigh;
  • Seirbheis taic;
  • tha API RESTful ann;
  • deagh sgrìobhainnean;
  • tèarainteachd mhath.

Cons:

  • amalachadh cuingealaichte;
  • Is e inneal pàighte a tha seo;
  • coimhearsnachd bheag (a tha, ge-tà, a’ fàs).

GoCD

Pròiseact le còd fosgailte a dh’ fheumas dreach 8 de Java Runtime Environment (JRE) airson a chuir a-steach agus obrachadh.

Riatanasan an t-siostaim:

  • RAM - 1 GB as ìsle, tha barrachd nas fheàrr;
  • pròiseasar - dà-chridhe, le tricead bunaiteach de 2 GHz;
  • cruaidh-chruaidh - co-dhiù 1 GB de rùm an-asgaidh.

àidseant:

  • RAM - co-dhiù 128 MB, tha barrachd nas fheàrr;
  • pròiseasar - co-dhiù 2 GHz.

Bidh am frithealaiche a’ dèanamh cinnteach à obrachadh riochdairean agus a’ toirt seachad eadar-aghaidh goireasach don neach-cleachdaidh:

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

Ìrean / Obraichean / Gnìomhan:

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

Stàladh airson Linux

mac-talla "deb luchdaich sìos.gocd.org /" | sudo tee /etc/apt/sources.list.d/gocd.list

curl download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key cuir ris -
add-apt-repository ppa:openjdk-r/ppa

ullamh-Get ùrachadh

apt-get install -y openjdk-8-jre

apt-get install go-server

apt-get install go-agent

/etc/init.d/go-server [tòiseachadh|stad|inbhe|ath-thòiseachadh]

/etc/init.d/go-agent [tòiseachadh|stad|inbhe|ath-thòiseachadh]

Gu gnàthach bidh GoCd a’ ruith air adhart localhost: 8153.

Neartan GoCd:

  • stòr fosgailte;
  • stàladh agus rèiteachadh sìmplidh;
  • deagh sgrìobhainnean;

  • Eadar-aghaidh cleachdaiche sàr-mhath:

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

  • comas air slighe cleachdadh GoCD ceum air cheum a shealltainn ann an aon shealladh:

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

  • taisbeanadh sàr-mhath de structar na loidhne-phìoban:

3 innealan mòr-chòrdte airson cleachdadh leantainneach a chuir air dòigh (Cleachdadh Leantainneach)

  • Bidh GoCD a’ dèanamh an fheum as fheàrr de shruth-obrach CD anns na h-àrainneachdan sgòthan as mòr-chòrdte a’ toirt a-steach Docker, AWS;
  • tha an inneal ga dhèanamh comasach duilgheadasan san loidhne-phìoban a cheartachadh, far a bheilear a’ cumail sùil air a h-uile atharrachadh bho ghealladh gu cleachdadh ann an àm fìor.

Cons:

  • tha feum air co-dhiù aon àidseant;
  • chan eil consol ann airson a h-uile gnìomh crìochnaichte a thaisbeanadh;
  • gus gach àithne a chuir an gnìomh, feumaidh tu aon ghnìomh a chruthachadh airson rèiteachadh na loidhne-phìoban;
  • Gus am plugan a stàladh feumaidh tu am faidhle .jar a ghluasad gu / plugins / taobh a-muigh agus ath-thòisich am frithealaiche;
  • coimhearsnachd an ìre mhath beag.

Mar cho-dhùnadh

Chan eil annta seo ach trì innealan, gu dearbh tha tòrr a bharrachd ann. Tha e duilich a thaghadh, agus mar sin feumaidh tu aire a thoirt do thaobhan a bharrachd.

Tha còd stòr fosgailte an inneil ga dhèanamh comasach tuigsinn dè a th’ ann, a bharrachd air feartan ùra a chuir ris nas luaithe. Ach mura obraich rudeigin, feumaidh tu a bhith an urra riut fhèin a-mhàin agus air cuideachadh na coimhearsnachd. Bidh innealan pàighte a’ toirt seachad taic a dh’ fhaodadh a bhith èiginneach uaireannan.

Mas e tèarainteachd am prìomh phrìomhachas agad, is fhiach obrachadh le inneal ionadail. Mura h-eil, tha taghadh fuasgladh SaaS na dheagh roghainn.

Agus mu dheireadh, gus dèanamh cinnteach gum bi pròiseas cleachdadh leantainneach fìor èifeachdach, feumaidh tu slatan-tomhais a chruthachadh a leigeas leat an raon de dh’ innealan a tha rim faighinn a lughdachadh.

Tha Skillbox a’ moladh:

Source: www.habr.com

Cuir beachd ann