3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

Mae Defnydd Parhaus yn ddull arbennig o ddatblygu meddalwedd a ddefnyddir i weithredu amrywiol swyddogaethau mewn meddalwedd yn gyflym, yn ddiogel ac yn effeithlon.

Y prif syniad yw creu proses awtomataidd ddibynadwy sy'n caniatáu i'r datblygwr gyflwyno'r cynnyrch gorffenedig yn gyflym i'r defnyddiwr. Ar yr un pryd, gwneir newidiadau cyson i gynhyrchu - gelwir hyn yn biblinell danfon barhaus (CD Piblinell).

Mae Skillsbox yn argymell: Cwrs ymarferol "Datblygwr Symudol PRO".

Rydym yn atgoffa: i holl ddarllenwyr "Habr" - gostyngiad o 10 rubles wrth gofrestru ar unrhyw gwrs Skillbox gan ddefnyddio'r cod hyrwyddo "Habr".

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

Er mwyn rheoli'r llif, gallwch ddefnyddio ystod eang o offer, gan gynnwys rhai taledig a rhad ac am ddim. Mae'r erthygl hon yn disgrifio tri o'r atebion mwyaf poblogaidd ymhlith datblygwyr a all fod yn ddefnyddiol i bob rhaglennydd.

Jenkins

Gweinydd awtomeiddio ffynhonnell agored cwbl hunangynhwysol. Mae'n werth gweithio gyda nhw i awtomeiddio pob math o dasgau sy'n ymwneud ag adeiladu, profi, cludo, neu ddefnyddio meddalwedd.

Gofynion PC lleiaf:

  • 256 MB RAM, gofod ffeil 1 GB.

Optimal:

  • 1 GB RAM, gyriant caled 50 GB.

I weithio, bydd angen meddalwedd ychwanegol arnoch hefyd - Java Runtime Environment (JRE) fersiwn 8.

Mae'r bensaernïaeth (cyfrifiadura dosranedig) yn edrych fel hyn:
3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

Mae Jenkins Server yn osodiad sy'n gyfrifol am gynnal GUI, yn ogystal â threfnu a gweithredu'r adeilad cyfan.

Jenkins Node/Slave/Build Server - dyfeisiau y gellir eu ffurfweddu i wneud gwaith adeiladu ar ran y Meistr (prif nod).

Gosod ar gyfer Linux

Yn gyntaf mae angen ichi ychwanegu ystorfa Jenkins at y system:

cd / tmp && wget -q -O - pkg.jenkins.io/debian-stabl/jenkins.io.key | sudo apt-key add - adlais 'deb pkg.jenkins.io/debian-stabl deuaidd/' | sudo tee -a /etc/apt/sources.list.d/je

Diweddaru ystorfa becynnau:

diweddariad apt sudo

Gosod Jenkins:

sudo apt gosod jenkins

Ar ôl hyn, bydd Jenkins ar gael yn y system trwy'r porthladd rhagosodedig 8080.

I wirio ymarferoldeb, mae angen ichi agor y cyfeiriad yn y porwr localhost:8080. Yna bydd y system yn eich annog i nodi'r cyfrinair cychwynnol ar gyfer y defnyddiwr gwraidd. Mae'r cyfrinair hwn wedi'i leoli yn y ffeil /var/lib/jenkins/secrets/initialAdminPassword.

Nawr bod popeth yn barod i fynd, gallwch chi ddechrau creu llifau CI / CD. Mae rhyngwyneb graffigol y fainc waith yn edrych fel hyn:

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

Cryfderau Jenkins:

  • scalability a ddarperir gan y bensaernïaeth Meistr/Caethweision;
  • argaeledd REST XML/JSON API;
  • y gallu i gysylltu nifer fawr o estyniadau diolch i ategion;
  • cymuned weithgar sy'n datblygu'n gyson.

Cons:

  • nid oes bloc dadansoddol;
  • rhyngwyneb defnyddiwr-gyfeillgar iawn.

TeamCity

Datblygiad masnachol gan JetBrains. Mae'r gweinydd yn dda gyda gosodiad syml a rhyngwyneb rhagorol. Mae gan y cyfluniad diofyn nifer fawr o swyddogaethau, ac mae nifer yr ategion sydd ar gael yn cynyddu'n gyson.

Yn gofyn am Java Runtime Environment (JRE) fersiwn 8.

Nid yw gofynion caledwedd y gweinydd yn hanfodol:

  • RAM - 3,2 GB;
  • prosesydd - craidd deuol, 3,2 GHz;
  • sianel gyfathrebu gyda chynhwysedd o 1 Gb/s.

Mae'r gweinydd yn caniatáu ichi gyflawni perfformiad uchel:

  • 60 o brosiectau gyda 300 o gyfluniadau adeiladu;
  • dyraniad o 2 MB ar gyfer log adeiladu;
  • 50 o asiantau adeiladu;
  • y gallu i weithio gyda 50 o ddefnyddwyr yn y fersiwn we a 30 o ddefnyddwyr yn y DRhA;
  • 100 o gysylltiadau VCS allanol, fel arfer Perforce a Subversion. Yr amser newid ar gyfartaledd yw 120 eiliad;
  • mwy na 150 o addasiadau y dydd;
  • gweithio gyda'r gronfa ddata ar un gweinydd;
  • Gosodiadau proses gweinydd JVM: -Xmx1100m -XX:MaxPermSize=120m.

Mae gofynion asiant yn seiliedig ar redeg gwasanaethau. Prif dasg y gweinydd yw monitro'r holl asiantau cysylltiedig a dosbarthu gwasanaethau ciwio i'r asiantau hyn yn seiliedig ar ofynion cydnawsedd, gan adrodd ar y canlyniadau. Daw asiantau mewn amrywiaeth o lwyfannau a systemau gweithredu, ynghyd ag amgylchedd wedi'i ffurfweddu ymlaen llaw.

Mae'r holl wybodaeth am y canlyniadau adeiladu yn cael ei storio yn y gronfa ddata. Yn bennaf mae hyn yn hanes a data tebyg arall, newidiadau VCS, asiantau, adeiladu ciwiau, cyfrifon defnyddwyr a chaniatâd. Nid yw'r gronfa ddata yn cynnwys logiau adeiladu ac arteffactau yn unig.

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

Gosod ar gyfer Linux

I osod TeamCity â llaw gyda chynhwysydd servlet Tomcat, dylech ddefnyddio'r archif TeamCity: TeamCity .tar.gz. Lawrlwythwch gallwch ei gael oddi yma.

tar -xfz TeamCity.tar.gz

/bin/rhedeg Pawb. sh [dechrau|stopio]

Pan fyddwch chi'n dechrau, mae angen i chi ddewis y math o gronfa ddata y bydd data'r cynulliad yn cael ei storio ynddi.

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

Mae'r ffurfweddiad diofyn yn rhedeg ymlaen localhost:8111/ gydag un asiant adeiladu cofrestredig yn rhedeg ar yr un cyfrifiadur personol.

Cryfderau TeamCity:

  • gosodiad syml;
  • rhyngwyneb hawdd ei ddefnyddio;
  • nifer fawr o swyddogaethau adeiledig;
  • Gwasanaeth cefnogi;
  • mae API RESTful;
  • dogfennaeth dda;
  • diogelwch da.

Cons:

  • integreiddio cyfyngedig;
  • Offeryn taledig yw hwn;
  • cymuned fach (sydd, fodd bynnag, yn tyfu).

GoCD

Prosiect ffynhonnell agored sy'n gofyn am Java Runtime Environment (JRE) fersiwn 8 ar gyfer gosod a gweithredu.

Gofynion y System:

  • RAM - lleiafswm o 1 GB, mae mwy yn well;
  • prosesydd - craidd deuol, gydag amledd craidd o 2 GHz;
  • gyriant caled - o leiaf 1 GB o le rhydd.

Asiant:

  • RAM - o leiaf 128 MB, yn ddelfrydol mwy;
  • prosesydd - o leiaf 2 GHz.

Mae'r gweinydd yn sicrhau gweithrediad asiantau ac yn darparu rhyngwyneb cyfleus i'r defnyddiwr:

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

Camau/Swyddi/Tasgau:

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

Gosod ar gyfer Linux

adleisio "deb lawrlwytho.gocd.org /” | tee sudo /etc/apt/sources.list.d/gocd.list

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

apt-get wybodaeth ddiweddaraf

apt-get install -y openjdk-8-jre

apt-get install go-server

apt-get install go-agent

/etc/init.d/go-server [cychwyn|stopio|statws|ailgychwyn]

/etc/init.d/go-agent [cychwyn|stop|statws|ailgychwyn]

Yn ddiofyn mae GoCd yn rhedeg ymlaen localhost: 8153.

Cryfderau GoCd:

  • ffynhonnell agor;
  • gosod a chyfluniad syml;
  • dogfennaeth dda;

  • Rhyngwyneb defnyddiwr gwych:

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

  • y gallu i ddangos llwybr defnyddio GoCD cam wrth gam mewn un olwg:

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

  • arddangosfa ardderchog o strwythur y biblinell:

3 offeryn poblogaidd ar gyfer trefnu defnydd parhaus (Defnydd Parhaus)

  • Mae GoCD yn gwneud y gorau o'r llif gwaith CD yn yr amgylcheddau cwmwl mwyaf poblogaidd gan gynnwys Docker, AWS;
  • mae'r offeryn yn ei gwneud hi'n bosibl cywiro problemau sydd ar y gweill, ac ar gyfer hyn mae pob newid o ymrwymo i ddefnyddio mewn amser real yn cael ei olrhain.

Cons:

  • mae angen o leiaf un asiant;
  • nid oes consol i arddangos yr holl dasgau a gwblhawyd;
  • i weithredu pob gorchymyn, mae angen i chi greu un dasg ar gyfer cyfluniad y biblinell;
  • I osod yr ategyn mae angen i chi symud y ffeil .jar i /plugins/allanol ac ailgychwyn y gweinydd;
  • cymuned gymharol fach.

Fel casgliad

Dim ond tri offeryn yw'r rhain, mewn gwirionedd mae llawer mwy. Mae'n anodd dewis, felly yn bendant mae angen i chi dalu sylw i agweddau ychwanegol.

Mae cod ffynhonnell agored yr offeryn yn ei gwneud hi'n bosibl deall beth ydyw, ynghyd ag ychwanegu nodweddion newydd yn gyflymach. Ond os nad yw rhywbeth yn gweithio, yna mae'n rhaid i chi ddibynnu arnoch chi'ch hun a chymorth y gymuned yn unig. Mae offer taledig yn darparu cefnogaeth a all fod yn hollbwysig weithiau.

Os mai diogelwch yw eich prif flaenoriaeth, mae'n werth gweithio gydag offeryn lleol. Os na, yna mae dewis datrysiad SaaS yn opsiwn da.

Ac yn olaf, er mwyn sicrhau proses ddefnyddio barhaus wirioneddol effeithiol, mae angen i chi lunio meini prawf y bydd eu manylion penodol yn caniatáu ichi gyfyngu ar yr ystod o offer sydd ar gael.

Mae Skillsbox yn argymell:

Ffynhonnell: hab.com

Ychwanegu sylw