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).
Rydym yn atgoffa:i holl ddarllenwyr "Habr" - gostyngiad o 10 rubles wrth gofrestru ar unrhyw gwrs Skillbox gan ddefnyddio'r cod hyrwyddo "Habr".
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:
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:
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:
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.
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.
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:
Camau/Swyddi/Tasgau:
Gosod ar gyfer Linux
adleisio "deb lawrlwytho.gocd.org /” | tee sudo /etc/apt/sources.list.d/gocd.list
Yn ddiofyn mae GoCd yn rhedeg ymlaen localhost: 8153.
Cryfderau GoCd:
ffynhonnell agor;
gosod a chyfluniad syml;
dogfennaeth dda;
Rhyngwyneb defnyddiwr gwych:
y gallu i ddangos llwybr defnyddio GoCD cam wrth gam mewn un olwg:
arddangosfa ardderchog o strwythur y biblinell:
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.