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

Skillbox mælir með: Verklegt námskeið "Mobile Developer PRO".

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.

3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)

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:
3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)

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

cd /tmp && wget -q -O — pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - echo 'deb pkg.jenkins.io/debian-stable tvöfaldur/' | sudo tee -a /etc/apt/sources.list.d/je

Uppfærðu pakkageymsluna:

sudo líklega uppfærsla

Settu upp Jenkins:

sudo apt setja upp jenkins

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:

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)

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;
  • meira en 150 breytingar á dag;
  • vinna með gagnagrunninn á einum netþjóni;
  • Ferlastillingar JVM miðlara: -Xmx1100m -XX:MaxPermSize=120m.

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.

3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)

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

3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)

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:

3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)

Stig/Starf/Verkefni:

3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)

Uppsetning fyrir Linux

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

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

líklegur til-fá endurnýja

apt-get install -y openjdk-8-jre

apt-get install go-server

apt-get install go-agent

/etc/init.d/go-server [byrja|stöðva|staða|endurræsa]

/etc/init.d/go-agent [byrja|stöðva|staða|endurræsa]

Sjálfgefið keyrir GoCd á localhost: 8153.

Styrkleikar GoCd:

  • opinn uppspretta;
  • einföld uppsetning og stillingar;
  • góð skjöl;

  • Frábært notendaviðmót:

3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)

  • getu til að sýna skref fyrir skref GoCD dreifingarslóð á einni sýn:

3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)

  • framúrskarandi sýning á uppbyggingu leiðslunnar:

3 vinsæl verkfæri til að skipuleggja stöðuga dreifingu (Continuous Deployment)

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

Skillbox mælir með:

Heimild: www.habr.com

Bæta við athugasemd