3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

Kev xa mus tas li yog ib txoj hauv kev tshwj xeeb hauv kev txhim kho software uas yog siv los ua kom sai, nyab xeeb thiab ua tau zoo siv ntau yam haujlwm hauv software.

Lub tswv yim tseem ceeb yog los tsim cov txheej txheem txhim khu kev qha automated uas tso cai rau tus tsim tawm sai sai xa cov khoom tiav rau tus neeg siv. Nyob rau tib lub sijhawm, kev hloov pauv tas li yog ua rau kev tsim khoom - qhov no yog hu ua kev xa khoom txuas ntxiv (CD Pipeline).

Skillbox pom zoo: Cov chav kawm siv tau "Mobile Developer PRO".

Peb nco qab: rau txhua tus neeg nyeem Habr - 10 ruble luv nqi thaum tso npe rau hauv ib chav kawm Skillbox siv Habr promo code.

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

Txhawm rau tswj cov dej ntws, koj tuaj yeem siv ntau yam cuab yeej, suav nrog ob qho tib si them thiab dawb kiag li. Kab lus no piav txog peb qhov kev daws teeb meem nrov tshaj plaws ntawm cov neeg tsim khoom uas tuaj yeem pab tau rau txhua tus programmer.

Jenkins

Tag nrho nws tus kheej muaj qhib qhov chaw automation server. Nws tsim nyog ua hauj lwm nrog rau automate txhua yam hauj lwm uas muaj feem xyuam rau lub tsev, kuaj, shipping, los yog deploying software.

Yam tsawg kawg nkaus rau PC:

  • 256 MB RAM, 1 GB cov ntaub ntawv chaw.

Qhov zoo tshaj plaws:

  • 1 GB RAM, 50 GB hard drive.

Txhawm rau ua haujlwm, koj tseem yuav xav tau software ntxiv - Java Runtime Ib puag ncig (JRE) version 8.

Lub architecture (distributed xam) zoo li no:
3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

Jenkins Server yog ib qho kev teeb tsa uas yog lub luag haujlwm rau GUI hosting, nrog rau kev teeb tsa thiab ua tiav tag nrho cov tsim.

Jenkins Node/Slave/Build Server - cov khoom siv uas tuaj yeem teeb tsa los ua haujlwm tsim ua haujlwm sawv cev ntawm tus tswv (tus tswv ntawm tus tswv).

Installation rau Linux

Ua ntej koj yuav tsum ntxiv Jenkins repository rau lub system:

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

Hloov tshiab pob repository:

sudo apt hloov tshiab

Nruab Jenkins:

sudo apt nruab jenkins

Tom qab no, Jenkins yuav muaj nyob rau hauv lub kaw lus ntawm qhov chaw nres nkoj 8080.

Txhawm rau txheeb xyuas kev ua haujlwm, koj yuav tsum qhib qhov chaw nyob hauv browser localhostib: 8080. Lub kaw lus yuav ua kom koj nkag mus rau thawj tus password rau tus neeg siv hauv paus. Tus password no nyob hauv cov ntaub ntawv /var/lib/jenkins/secrets/initialAdminPassword.

Tam sim no txhua yam yog npaj mus, koj tuaj yeem pib tsim CI / CD ntws. Lub graphical interface ntawm workbench zoo li no:

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

Jenkins Strengths:

  • scalability muab los ntawm Master/Slave architecture;
  • muaj REST XML/JSON API;
  • lub peev xwm los txuas ntau qhov txuas ntxiv ua tsaug rau plugins;
  • active thiab evolving zej zog tas li.

Txais:

  • tsis muaj analytical thaiv;
  • tsis heev user-friendly interface.

TeamCity

Kev tsim kho lag luam los ntawm JetBrains. Cov neeg rau zaub mov zoo nrog kev teeb tsa yooj yim thiab kev sib txuas zoo heev. Lub neej ntawd configuration muaj ib tug loj tus naj npawb ntawm functions, thiab tus naj npawb ntawm muaj plugins yog tas li nce.

Yuav tsum Java Runtime Ib puag ncig (JRE) version 8.

Cov kev xav tau ntawm lub server hardware tsis yog qhov tseem ceeb:

  • RAM - 3,2 GB;
  • processor - dual-core, 3,2 GHz;
  • kev sib txuas lus channel nrog lub peev xwm ntawm 1 Gb / s.

Lub server tso cai rau koj ua tiav kev ua haujlwm siab:

  • 60 tej yaam num nrog 300 tsim configurations;
  • 2 MB faib rau tsim cav;
  • 50 tus neeg ua haujlwm tsim;
  • muaj peev xwm ua haujlwm nrog 50 cov neeg siv hauv lub vev xaib thiab 30 cov neeg siv hauv IDE;
  • 100 kev sib txuas ntawm VCS sab nraud, feem ntau Perforce thiab Subversion. Lub sijhawm hloov pauv nruab nrab yog 120 vib nas this;
  • ntau tshaj 150 kev hloov kho ib hnub;
  • ua haujlwm nrog database ntawm ib tus neeg rau zaub mov;
  • JVM server txheej txheem teeb tsa: -Xmx1100m -XX:MaxPermSize=120m.

Cov kev xav tau ntawm tus neeg sawv cev yog nyob ntawm kev sib sau ua ke. Lub luag haujlwm tseem ceeb ntawm cov neeg rau zaub mov yog saib xyuas txhua tus neeg sawv cev sib txuas thiab faib cov kab ke sib dhos rau cov neeg ua haujlwm no raws li cov kev xav tau sib xws, tshaj tawm cov txiaj ntsig. Cov neeg sawv cev tuaj nyob rau hauv ntau lub platforms thiab kev khiav hauj lwm systems, ntxiv rau ib puag ncig pre-configured.

Tag nrho cov ntaub ntawv hais txog kev tsim cov txiaj ntsig tau muab khaws cia hauv cov ntaub ntawv. Feem ntau qhov no yog keeb kwm thiab lwm cov ntaub ntawv zoo sib xws, VCS hloov pauv, tus neeg sawv cev, tsim cov kab, cov neeg siv nyiaj thiab kev tso cai. Cov ntaub ntawv tsis suav nrog tsuas yog tsim cov cav thiab cov khoom qub.

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

Installation rau Linux

Txhawm rau nruab TeamCity manually nrog Tomcat servlet thawv, koj yuav tsum siv TeamCity archive: TeamCity .tar.gz. Download tau koj tuaj yeem tau txais los ntawm no.

tar -xfz TeamCity.tar.gz

/bin/runAll. sh [pib|stop]

Thaum koj thawj zaug pib, koj yuav tsum xaiv hom database uas cov ntaub ntawv sib dhos yuav muab khaws cia.

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

Lub default configuration khiav rau localhost:8111/ nrog ib tus neeg ua haujlwm sau npe ua haujlwm ntawm tib lub PC.

TeamCity lub zog:

  • kev teeb tsa yooj yim;
  • cov neeg siv-phooj ywg interface;
  • ib tug loj tus naj npawb ntawm built-in functions;
  • Kev pab txhawb nqa;
  • muaj qhov RESTful API;
  • cov ntaub ntawv zoo;
  • kev ruaj ntseg zoo.

Txais:

  • txwv kev koom ua ke;
  • Qhov no yog cov cuab yeej them nyiaj;
  • ib lub zej zog me me (uas, txawm li cas los xij, tab tom loj hlob).

GoCD

Ib qhov qhib qhov project uas yuav tsum tau Java Runtime Ib puag ncig (JRE) version 8 rau kev teeb tsa thiab ua haujlwm.

Cov kev xav tau ntawm qhov system:

  • RAM - 1 GB yam tsawg kawg nkaus, ntau dua yog zoo dua;
  • processor - dual-core, nrog ib tug tub ntxhais zaus ntawm 2 GHz;
  • hard drive - yam tsawg kawg yog 1 GB ntawm qhov chaw dawb.

Tus neeg sawv cev:

  • RAM - tsawg kawg yog 128 MB, ntau dua yog zoo dua;
  • processor - tsawg kawg yog 2 GHz.

Tus neeg rau zaub mov ua kom cov haujlwm ntawm cov neeg ua haujlwm thiab muab qhov yooj yim interface rau cov neeg siv:

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

Qib / Kev Ua Haujlwm / Cov Haujlwm:

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

Installation rau Linux

ncha "deb download.gocd.org /" | sudo tee /etc/apt/sources.list.d/gocd.list

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

apt-get update

apt-tau nruab -y openjdk-8-jre

apt-mus nruab go-server

apt-tau nruab mus-tus neeg saib xyuas

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

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

Los ntawm lub neej ntawd GoCd khiav ntawm localhost: 8153.

GoCd lub zog:

  • qhib qhov chaw;
  • yooj yim installation thiab configuration;
  • cov ntaub ntawv zoo;

  • Tus neeg siv interface zoo:

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

  • muaj peev xwm los qhia step-by-step GoCD xa mus rau hauv ib qho kev pom:

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

  • zoo heev tso saib ntawm lub raj xa dej:

3 cov cuab yeej nrov rau kev teeb tsa kev xa mus tas li (Nruam Deployment)

  • GoCD optimizes CD workflow nyob rau hauv cov huab cua nrov tshaj plaws xws li Docker, AWS;
  • cov cuab yeej ua rau nws tuaj yeem kho cov teeb meem hauv cov kav dej, uas muaj kev taug qab txhua qhov kev hloov pauv los ntawm kev cog lus mus rau kev xa mus rau lub sijhawm.

Txais:

  • tsawg kawg yog ib tus neeg sawv cev xav tau;
  • tsis muaj console los tso saib tag nrho cov haujlwm ua tiav;
  • txhawm rau ua txhua qhov lus txib, koj yuav tsum tsim ib txoj haujlwm rau kev teeb tsa cov kav dej;
  • Txhawm rau nruab lub plugin koj yuav tsum txav cov ntaub ntawv .jar mus rau /plugins/external thiab rov pib lub server;
  • zej zog me me.

Raws li qhov xaus

Cov no tsuas yog peb cov cuab yeej xwb, qhov tseeb muaj ntau yam ntxiv. Nws nyuaj rau xaiv, yog li koj yeej yuav tsum tau them sai sai rau cov yam ntxwv ntxiv.

Qhov qhib qhov chaws ntawm lub cuab yeej ua rau nws nkag siab tias nws yog dab tsi, ntxiv rau ntxiv cov yam ntxwv tshiab sai dua. Tab sis yog tias ib yam dab tsi tsis ua hauj lwm, ces koj yuav tsum cia siab rau koj tus kheej thiab kev pab ntawm zej zog. Cov cuab yeej them nyiaj muab kev txhawb nqa uas qee zaum tseem ceeb heev.

Yog tias kev ruaj ntseg yog koj qhov tseem ceeb tshaj plaws, nws tsim nyog ua haujlwm nrog lub cuab yeej hauv zos. Yog tias tsis yog, xaiv qhov kev daws teeb meem SaaS yog qhov kev xaiv zoo.

Thiab thaum kawg, txhawm rau kom ntseeg tau tias cov txheej txheem xa mus tas li ua tau zoo, koj yuav tsum tsim cov txheej txheem uas nws qhov tshwj xeeb yuav tso cai rau koj kom txo qis ntawm cov cuab yeej muaj.

Skillbox pom zoo:

Tau qhov twg los: www.hab.com

Ntxiv ib saib