3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

Kuenderera mberi Deployment inzira yakakosha mukuvandudza software inoshandiswa kukurumidza, zvakachengeteka uye nemazvo kuita mabasa akasiyana musoftware.

Pfungwa huru ndeyekugadzira yakavimbika otomatiki maitiro inobvumira mugadziri kuti akurumidze kuendesa chigadzirwa chakapedzwa kumushandisi. Panguva imwecheteyo, shanduko dzinogara dzichiitwa pakugadzira - iyi inonzi pombi inoenderera mberi (CD Pipeline).

Skillbox inokurudzira: Nzira inoshanda "Mobile Developer PRO".

Tinoyeuchidza: kune vese vaverengi veHabr - a 10 ruble mutengo paunenge uchinyoresa mune chero Skillbox kosi uchishandisa iyo Habr promo kodhi.

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

Kuti udzore kuyerera, unogona kushandisa huwandu hwakawanda hwezvishandiso, kusanganisira zvese zvakabhadharwa uye zvakasununguka zvachose. Ichi chinyorwa chinotsanangura zvitatu zvezvinonyanya kufarirwa mhinduro pakati pevagadziri zvinogona kubatsira kune wese programmer.

Jenkins

Yakazara yega yakavhurika sosi otomatiki server. Zvakakodzera kushanda pamwe nekuita otomatiki marudzi ese emabasa ane chekuita nekuvaka, kuyedza, kutumira, kana kuendesa software.

Minimum PC zvinodiwa:

  • 256 MB RAM, 1 GB faira nzvimbo.

Zvakakwana:

  • 1 GB RAM, 50 GB hard drive.

Kuti ushande, iwe unozodawo imwe software - Java Runtime Environment (JRE) vhezheni 8.

Iyo dhizaini (yakagoverwa komputa) inotaridzika seizvi:
3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

Jenkins Server ndeye kuisirwa iyo inotarisira GUI kubata, pamwe nekuronga nekuita iyo yese kuvaka.

Jenkins Node / Muranda / Vaka Sevha - zvishandiso zvinogona kugadzirwa kuita basa rekuvaka panzvimbo yaTenzi (master node).

Kuiswa kweLinux

Kutanga iwe unofanirwa kuwedzera iyo Jenkins repository kune system:

cd /tmp && wget -q -O - pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-kiyi wedzera - echo 'deb pkg.jenkins.io/debian-stable binary/' | sudo tee -a /etc/apt/source.list.d/je

Gadziridza pasuru repository:

sudo apt update

Isa Jenkins:

sudo apt kuisa jenkins

Mushure meizvi, Jenkins ichave iripo muhurongwa kuburikidza neiyo default port 8080.

Kuti utarise kushanda, unofanirwa kuvhura kero mubrowser localhost:8080. Iyo sisitimu inozokurudzira iwe kuti uise yekutanga password yemudzi mushandisi. Iyi password iri mufaira /var/lib/jenkins/secrets/initialAdminPassword.

Iye zvino zvese zvagadzirira kuenda, unogona kutanga kugadzira CI/CD inoyerera. Iyo graphical interface yeworkbench inoita seizvi:

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

Jenkins Strengths:

  • scalability yakapihwa naTenzi/Muranda architecture;
  • kuwanikwa kweREST XML/JSON API;
  • kukwanisa kubatanidza nhamba huru yekuwedzera nekuda kwe plugins;
  • nharaunda inoshanda uye inogara ichishanduka.

Cons:

  • hapana analytical block;
  • isiri yakanyanya mushandisi-inoshamwaridzika interface.

TeamCity

Kubudirira kwekutengesa kubva kuJetBrains. Sevha yakanaka nekuseta kwakapusa uye yakanakisa interface. Kugadziriswa kwekugadziriswa kune nhamba huru yemabasa, uye nhamba yemapulagi anowanikwa ari kuramba achiwedzera.

Inoda Java Runtime Environment (JRE) shanduro 8.

Izvo zvinodiwa sevhavha yehardware haina-yakakosha:

  • RAM - 3,2 GB;
  • processor - dual-core, 3,2 GHz;
  • nzira yekukurukurirana ine simba re1 Gb/s.

Sevha inokubvumira kuti uwane kushanda kwepamusoro:

  • 60 mapurojekiti ane mazana matatu ekuvaka masisitimu;
  • 2 MB mugove wekuvaka log;
  • 50 kuvaka vamiririri;
  • kugona kushanda nevashandisi makumi mashanu muwebhu vhezheni uye vashandisi makumi matatu muIDE;
  • 100 kubatanidza kwekunze kweVCS, kazhinji Perforce uye Subversion. Avhareji yekuchinja nguva ndeye 120 seconds;
  • zvinopfuura 150 zvinogadziriswa pazuva;
  • kushanda ne database pane imwe server;
  • JVM server process settings: -Xmx1100m -XX:MaxPermSize=120m.

Zvinodiwa zveagent zvinobva pakumhanya magungano. Basa guru revhavha nderekutarisa ese akabatana maajenti uye kugovera magungano akamisikidzwa kune aya maajenti zvichienderana nezvinodiwa zvekuenderana, kushuma mhedzisiro. Maagents anouya mune akasiyana mapuratifomu uye masisitimu anoshanda, pamwe neyakagadzirirwa nharaunda.

Ruzivo rwese nezve mhinduro dzekuvaka inochengetwa mudhatabhesi. Kunyanya iyi inhoroondo uye imwe data yakafanana, VCS shanduko, vamiririri, kuvaka mitsetse, maakaundi evashandisi uye mvumo. Iyo dhatabhesi haisanganisi chete kuvaka matanda uye zvigadzirwa.

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

Kuiswa kweLinux

Kuti uise pachako TeamCity ine Tomcat servlet chigaba, unofanira kushandisa TeamCity archive: TeamCity .tar.gz. Download unogona kuzviwana kubva pano.

tar -xfz TeamCity.tar.gz

/bin/runAll. sh [kutanga|mira]

Paunotanga kutanga, unofanirwa kusarudza rudzi rwe database umo data regungano richachengetwa.

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

Iyo default configuration inotanga localhost:8111/ neimwe yakanyoreswa kuvaka mumiriri anomhanya paPC imwechete.

Simba reTeamCity:

  • simple setup;
  • mushandisi-ushamwari interface;
  • nhamba huru yemabasa akavakirwa-mukati;
  • Basa rekutsigira;
  • pane RESTful API;
  • magwaro akanaka;
  • kuchengeteka kwakanaka.

Cons:

  • kubatanidzwa zvishoma;
  • Ichi chishandiso chakabhadharwa;
  • nzanga duku (iyo, zvisinei, iri kukura).

GoCD

Iyo yakavhurika sosi purojekiti inoda Java Runtime Environment (JRE) vhezheni 8 yekuisa uye kushanda.

Zvirongwa zveMutemo:

  • RAM - 1 GB shoma, zvimwe zviri nani;
  • processor - dual-core, ine core frequency ye2 GHz;
  • hard drive - ingangoita 1 GB yemahara nzvimbo.

Mumiririri:

  • RAM - ingangoita 128 MB, zviri nani kupfuura;
  • processor - kanenge 2 GHz.

Iyo sevha inovimbisa kushanda kwevamiririri uye inopa yakanakira interface yemushandisi:

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

Matanho/Mabasa/Mabasa:

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

Kuiswa kweLinux

echo "deb download.gocd.org /” | sudo tee /etc/apt/source.list.d/gocd.list

curl they download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-kiyi wedzera -
wedzera-apt-repository ppa: openjdk-r/ppa

Apt-get update

apt-tora kuisa -y openjdk-8-jre

apt-tora kuisa go-server

apt-tora kuisa go-agent

/etc/init.d/go-server [kutanga|stop|status|restart]

/etc/init.d/go-agent [start|stop|status|restart]

By default GoCd inomhanya localhost: 8153.

Simba reGoCd:

  • open source;
  • nyore kuisa uye kugadzirisa;
  • magwaro akanaka;

  • Yakanaka mushandisi interface:

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

  • kugona kuratidza nhanho-ne-nhanho GoCD yekuendesa nzira mune imwe maonero:

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

  • kuratidzwa kwakanakisa kwechimiro chepombi:

3 maturusi akakurumbira ekuronga kuenderera mberi kutumirwa (Kuenderera mberi Kuendeswa)

  • GoCD inokwidziridza kufambiswa kweCD munzvimbo dzinozivikanwa zvikuru dzemakore dzinosanganisira Docker, AWS;
  • chishandiso chinoita kuti zvikwanisike kugadzirisa matambudziko mupombi, uko kune kuronda kwese shanduko kubva pakuzvipira kuenda kukuendesa munguva chaiyo.

Cons:

  • inodiwa mumiririri mumwe chete;
  • hapana kunyaradza kuratidza ese akapedzwa mabasa;
  • kuti uite murairo wega wega, unofanirwa kugadzira basa rimwe chete rekugadzirisa pombi;
  • Kuti uise plugin unofanirwa kutamisa iyo .jar faira kuenda /plugins/external uye tangazve sevha;
  • nharaunda duku.

Semhedziso

Aya angori matatu maturusi, chokwadi kune akawanda akawanda. Zvakaoma kusarudza, saka iwe unofanirwa kunyatso teerera kune mamwe maficha.

Iyo yakavhurika sosi kodhi yechishandiso inoita kuti ikwanise kunzwisisa kuti chii, uye kuwedzera maficha nekukurumidza. Asi kana chimwe chinhu chisingashande, saka iwe unofanirwa kuvimba iwe pachako uye nerubatsiro rwenharaunda. Zvishandiso zvakabhadharwa zvinopa tsigiro iyo dzimwe nguva inogona kuve yakakosha.

Kana chengetedzo iriyo yekutanga pamberi pako, zvakafanira kushanda nechokushandisa chemuno. Kana zvisiri, saka kusarudza SaaS mhinduro isarudzo yakanaka.

Uye chekupedzisira, kuitira kuti uve nechokwadi chechokwadi chinoshanda chinoenderera kuendesa maitiro, iwe unofanirwa kugadzira maitiro ayo ane chaiwo anozobvumidza iwe kudzikisa pasi huwandu hwezvishandiso zviripo.

Skillbox inokurudzira:

Source: www.habr.com

Voeg