ProHoster > Blog > netfréttir > 3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)
3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)
Continuous Deployment er sérstök nálgun í hugbúnaðarþróun sem er notuð til að innleiða ýmsar aðgerðir í hugbúnaði á fljótlegan, öruggan og skilvirkan hátt.
Meginhugmyndin er að búa til áreiðanlegt sjálfvirkt ferli sem gerir verktaki kleift að afhenda notanda fullunna vöru fljótt. Á sama tíma eru gerðar stöðugar breytingar á framleiðslu - þetta er kallað samfelld afhendingarleiðslu (CD Pipeline).
Við minnum á:fyrir alla Habr lesendur - 10 rúblur afsláttur þegar þú skráir þig á hvaða Skillbox námskeið sem er með því að nota Habr kynningarkóðann.
Til að stjórna flæðinu geturðu notað mikið úrval af verkfærum, þar á meðal bæði greitt og alveg ókeypis. Þessi grein lýsir þremur af vinsælustu lausnunum meðal þróunaraðila sem geta verið gagnlegar fyrir alla forritara.
Jenkins
Alveg sjálfstætt opinn sjálfvirkniþjónn. Það er þess virði að vinna með að gera sjálfvirkan alls kyns verkefni sem tengjast byggingu, prófun, sendingu eða uppsetningu hugbúnaðar.
Lágmarkskröfur fyrir tölvu:
256 MB vinnsluminni, 1 GB skráarrými.
Ákjósanlegur:
1 GB vinnsluminni, 50 GB harður diskur.
Til að virka þarftu einnig viðbótarhugbúnað - Java Runtime Environment (JRE) útgáfu 8.
Arkitektúrinn (dreifð tölvumál) lítur svona út:
Jenkins Server er uppsetning sem ber ábyrgð á GUI hýsingu, auk þess að skipuleggja og framkvæma alla bygginguna.
Jenkins Node/Slave/Build Server - tæki sem hægt er að stilla til að framkvæma byggingarvinnu fyrir hönd meistarans (master node).
Uppsetning fyrir Linux
Fyrst þarftu að bæta Jenkins geymslunni við kerfið:
Eftir þetta verður Jenkins tiltækur í kerfinu í gegnum sjálfgefna tengi 8080.
Til að athuga virkni þarftu að opna heimilisfangið í vafranum localhost:8080. Kerfið mun þá biðja þig um að slá inn upphaflegt lykilorð fyrir rótarnotandann. Þetta lykilorð er staðsett í skránni /var/lib/jenkins/secrets/initialAdminPassword.
Nú er allt tilbúið, þú getur byrjað að búa til CI/CD flæði. Grafískt viðmót vinnubekksins lítur svona út:
Styrkleikar Jenkins:
sveigjanleiki veittur af Master/Slave arkitektúrnum;
framboð á REST XML/JSON API;
getu til að tengja mikinn fjölda viðbætur þökk sé viðbótum;
virkt samfélag í stöðugri þróun.
Gallar:
það er engin greiningarblokk;
ekki mjög notendavænt viðmót.
TeamCity
Viðskiptaþróun frá JetBrains. Miðlarinn er góður með einfaldri uppsetningu og frábæru viðmóti. Sjálfgefin uppsetning hefur mikinn fjölda aðgerða og fjöldi tiltækra viðbóta er stöðugt að aukast.
Krefst Java Runtime Environment (JRE) útgáfu 8.
Vélbúnaðarkröfur netþjónsins eru ekki mikilvægar:
vinnsluminni - 3,2 GB;
örgjörvi - tvíkjarna, 3,2 GHz;
samskiptarás með afkastagetu upp á 1 Gb/s.
Miðlarinn gerir þér kleift að ná háum afköstum:
60 verkefni með 300 byggingarstillingum;
2 MB úthlutun fyrir byggingarskrá;
50 byggingarefni;
getu til að vinna með 50 notendum í vefútgáfunni og 30 notendum í IDE;
100 tengingar af ytri VCS, venjulega Perforce og Subversion. Meðalbreytingartími er 120 sekúndur;
Kröfur umboðsmanna eru byggðar á hlaupandi samsetningum. Meginverkefni þjónsins er að fylgjast með öllum tengdum umboðsmönnum og dreifa samsetningum í biðröð til þessara umboðsmanna á grundvelli samhæfiskröfur, og tilkynna niðurstöðurnar. Umboðsmenn koma í ýmsum kerfum og stýrikerfum, auk fyrirfram stillt umhverfi.
Allar upplýsingar um niðurstöður byggingar eru geymdar í gagnagrunninum. Fyrst og fremst er þetta saga og önnur svipuð gögn, VCS breytingar, umboðsmenn, byggingarraðir, notendareikningar og heimildir. Gagnagrunnurinn inniheldur ekki aðeins byggingarskrár og gripi.
Uppsetning fyrir Linux
Til að setja upp TeamCity handvirkt með Tomcat servlet-íláti, ættir þú að nota TeamCity skjalasafnið: TeamCity .tar.gz. Sækja þú getur fengið það héðan.
tar -xfz TeamCity.tar.gz
/bin/runAll. sh [byrja|stöðva]
Þegar þú byrjar fyrst þarftu að velja tegund gagnagrunns sem samsetningargögnin verða geymd í.
Sjálfgefin stilling keyrir á localhost:8111/ með einum skráðum byggingarfulltrúa sem keyrir á sömu tölvunni.
Styrkleikar TeamCity:
auðveld uppsetning;
notendavænt viðmót;
mikill fjöldi innbyggðra aðgerða;
stuðningur;
það er RESTful API;
góð skjöl;
gott öryggi.
Gallar:
takmörkuð samþætting;
Þetta er greitt tól;
lítið samfélag (sem þó fer vaxandi).
GoCD
Opinn uppspretta verkefni sem krefst Java Runtime Environment (JRE) útgáfu 8 fyrir uppsetningu og rekstur.
Kerfis kröfur:
Vinnsluminni - 1 GB lágmark, meira er betra;
örgjörvi - tvíkjarna, með kjarnatíðni 2 GHz;
harður diskur - að minnsta kosti 1 GB af lausu plássi.
Umboðsmaður:
Vinnsluminni - að minnsta kosti 128 MB, meira er betra;
örgjörvi - að minnsta kosti 2 GHz.
Miðlarinn tryggir rekstur umboðsmanna og veitir notandanum þægilegt viðmót:
Stig/Starf/Verkefni:
Uppsetning fyrir Linux
bergmál "deb download.gocd.org /” | sudo tee /etc/apt/sources.list.d/gocd.list
getu til að sýna skref fyrir skref GoCD dreifingarslóð á einni sýn:
framúrskarandi sýning á uppbyggingu leiðslunnar:
GoCD fínstillir geisladiska vinnuflæðið í vinsælustu skýjaumhverfinu þar á meðal Docker, AWS;
tólið gerir það mögulegt að leiðrétta vandamál í pípunum, þar sem fylgst er með hverri breytingu frá skuldbindingu til dreifingar í rauntíma.
Gallar:
þarf að minnsta kosti einn umboðsmann;
það er engin stjórnborð til að sýna öll unnin verkefni;
til að framkvæma hverja skipun þarftu að búa til eitt verkefni fyrir uppsetningu leiðslunnar;
Til að setja upp viðbótina þarftu að færa .jar skrána á /plugins/external og endurræstu þjóninn;
tiltölulega lítið samfélag.
Sem niðurstaða
Þetta eru bara þrjú verkfæri, reyndar eru þau miklu fleiri. Það er erfitt að velja, svo þú þarft örugglega að borga eftirtekt til viðbótarþátta.
Opinn frumkóði tólsins gerir það mögulegt að skilja hvað það er, auk þess að bæta við nýjum eiginleikum hraðar. En ef eitthvað virkar ekki, þá þarftu aðeins að treysta á sjálfan þig og hjálp samfélagsins. Greidd verkfæri veita stuðning sem getur stundum verið mikilvægur.
Ef öryggi er forgangsverkefni þitt, þá er það þess virði að vinna með staðbundnu tæki. Ef ekki, þá er það góður kostur að velja SaaS lausn.
Og að lokum, til að tryggja raunverulega árangursríkt samfellt dreifingarferli, þarftu að móta viðmið sem gera þér kleift að þrengja úrval tiltækra verkfæra.