Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

Continuous Deployment ke mokhoa o ikhethileng oa nts'etsopele ea software o sebelisetsoang ho kenya tšebetsong mesebetsi e fapaneng ka potlako, ka mokhoa o sireletsehileng le ka katleho ho software.

Sepheo se seholo ke ho theha mokhoa o ka tšeptjoang o ikemetseng o lumellang moqapi ho fana ka sehlahisoa se felileng kapele ho mosebedisi. Ka nako e ts'oanang, liphetoho tse sa khaotseng li etsoa tlhahisong - sena se bitsoa pipeline ea ho fana ka nako e tsoelang pele (CD Pipeline).

Skillbox e khothaletsa: Tsela e sebetsang "Mobile Developer PRO".

Re hopotsa: bakeng sa babali bohle ba "Habr" - theolelo ea li-ruble tse 10 ha u ngolisa thupelong efe kapa efe ea Skillbox u sebelisa khoutu ea papatso ea "Habr".

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

Ho na le lisebelisoa tse ngata tse ka sebelisoang ho laola phallo, tse ling tsa tsona li lefshoa, tse ling tsa tsona li lokolohile ka ho feletseng. Sengoliloeng sena se hlalosa litharollo tse tharo tse tsebahalang haholo har'a bahlahisi, tse ka bang molemo bakeng sa mohlophisi e mong le e mong.

Jenkins

Seva e ikemetseng e bulehileng ea mohloli o ikemetseng. Ho bohlokoa ho sebetsa le ho iketsetsa mefuta eohle ea mesebetsi e amanang le ho aha, ho lekola, ho tsamaisa kapa ho tsamaisa software.

Litlhoko tse fokolang tsa PC:

  • 256 MB RAM, 1 GB sebaka sa faele.

Ka nepo:

  • 1GB RAM, 50GB hard drive sebaka.

Ho sebetsa, o tla hloka software e eketsehileng - Java Runtime Environment (JRE) mofuta oa 8.

Mehaho (computing e abuoang) e shebahala tjena:
Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

Jenkins Server ke setsi se ikarabellang bakeng sa ho amohela GUI, hammoho le ho hlophisa le ho phethahatsa mohaho oohle.

Jenkins Node/Slave/Build Server - lisebelisoa tse ka hlophisoang ho etsa mosebetsi oa kaho molemong oa Monghali.

Ho kenya bakeng sa Linux

Pele, o hloka ho kenyelletsa polokelo ea Jenkins ho sistimi:

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

Ntlafatsa polokelo ea sephutheloana:

sudo apt update

Kenya Jenkins:

sudo apt kenya jenkins

Kamora sena, Jenkins e tla fumaneha sistimi ho boema-kepe ba kamehla ba 8080.

Ho hlahloba ts'ebetso, o hloka ho bula aterese ho sebatli sa hau Localhost:8080. Sistimi e tla u khothaletsa ho kenya phasewete ea motso oa pele. Lekunutu lena le fumaneha faeleng /var/lib/jenkins/secrets/initialAdminPassword.

Hona joale ntho e 'ngoe le e' ngoe e se e loketse ho sebetsa, u ka qala ho theha phallo ea CI / CD. Sebopeho sa graphical sa tikoloho ea mosebetsi se shebahala tjena:

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

Matla a Jenkins:

  • scalability e fanoeng ke meralo ea Monghali / Makhoba;
  • ho fumaneha ha REST XML/JSON API;
  • bokhoni ba ho hokahanya palo e kholo ea lisebelisoa ka lebaka la li-plugins;
  • sechaba se mahlahahlaha se lulang se fetoha.

Chelete:

  • ha ho na block ea analytical;
  • Ha se sebopeho se bonolo haholo sa mosebelisi.

TeamCity

Nts'etsopele ea khoebo ka JetBrains. Seva e ntle bakeng sa ho seta ha eona habonolo le sebopeho se setle haholo. Sebopeho sa kamehla se na le palo e kholo ea mesebetsi, palo ea li-plugins tse teng e ntse e eketseha kamehla.

E hloka Java Runtime Environment (JRE) mofuta oa 8.

Litlhoko tsa hardware tsa seva ha li bohlokoa:

  • RAM - 3,2 GB;
  • processor - tse peli-core, 3,2 GHz;
  • mocha oa puisano o nang le bandwidth ea 1 Gbps.

Seva e u lumella ho fumana ts'ebetso e phahameng mosebetsing:

  • merero e 60 e nang le litlhophiso tsa likopano tse 300;
  • 2 MB kabo bakeng sa log log;
  • 50 baemeli ba likopano;
  • bokhoni ba ho sebetsa le basebelisi ba 50 ho web version le basebelisi ba 30 ho IDE;
  • Likhokahanyo tse 100 tsa kantle tsa VCS, hangata Perforce le Subversion. Karolelano ea nako ea phetoho ke metsotsoana e 120;
  • liphetoho tse fetang 150 ka letsatsi;
  • ho sebetsa le database ho seva se le seng;
  • Litlhophiso tsa tšebetso ea seva ea JVM: -Xmx1100m -XX:MaxPermSize=120m.

Litlhoko tsa moemeli li khethoa ke lisebelisoa tse sebetsang. Mosebetsi o ka sehloohong oa seva ke ho beha leihlo mahlahana ohle a hokahaneng le ho aba likaha ho tloha moleng ho ea ho baemeli bana ho latela litlhoko tsa ho lumellana, ho tlaleha liphetho. Baemeli ba na le li-platform le litsamaiso tse fapaneng tsa ts'ebetso, hammoho le tikoloho e hlophisitsoeng esale pele.

Lintlha tsohle tse mabapi le liphetho tsa kaho li bolokiloe polokelong ea litaba. Haholo-holo, sena se kenyelletsa nalane le lintlha tse ling tse ts'oanang, liphetoho tsa VCS, baemeli, mela ea kaho, liakhaonto tsa basebelisi le litumello. Lintho feela tse sa kenyelletsoeng polokelong ea litaba ke lits'oants'o tsa kaho le li-artifacts.

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

Ho kenya bakeng sa Linux

Ho kenya TeamCity ka bowena ka setshelo sa Tomcat servlet, sebelisa polokelo ea boitsebiso ea TeamCity: TeamCity .tar.gz. Khoasolla u ka e fumana ho tloha mona.

tar -xfz TeamCity.tar.gz

/bin /runAll.sh [qala| emisa]

Ha o qala, o hloka ho khetha mofuta oa database oo data ea kopano e tla bolokoa ho eona.

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

Tokiso ea kamehla e sebetsa Localhost:8111/ e nang le moemeli a le mong ea ngolisitsoeng oa ho haha o sebetsang ho PC e le 'ngoe.

Matla a TeamCity:

  • seta e bonolo;
  • mosebedisi-ba botsoalle segokanyimmediamentsi sa sebolokigolo;
  • palo e kholo ea mesebetsi e hahiloeng;
  • tšebeletso ea tšehetso;
  • ho na le RESTful API;
  • eseng litokomane tse mpe;
  • tshireletso e ntle.

Chelete:

  • kopanyo e fokolang;
  • Sena ke sesebelisoa se lefuoang;
  • sechaba se senyenyane (seo, leha ho le joalo, se ntseng se hōla).

GoCD

Morero oa mohloli o bulehileng o hlokang Java Runtime Environment (JRE) mofuta oa 8 ho kenya le ho sebetsa.

Litlhokahalo tsa Tsamaiso:

  • RAM - bonyane 1 GB, ho feta ho molemo;
  • processor - dual-core, e nang le maqhubu a mantlha a 2 GHz;
  • Hard disk - bonyane 1 GB ea sebaka sa mahala.

Moemeli:

  • RAM - bonyane 128 MB, e betere ho feta;
  • processor - bonyane 2 GHz.

Seva e netefatsa ts'ebetso ea liakhente mme e fana ka sebopeho se bonolo bakeng sa mosebelisi:

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

Mehato/Mesebetsi/Mesebetsi:

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

Ho kenya bakeng sa Linux

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

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

E fumaneha ka mokhoa o nepahetseng

apt-get install -y openjdk-8-jre

apt-fumana kenya go-server

apt-get install go-agent

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

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

Ka kamehla, GoCd e sebetsa ka Localhost: 8153.

Matla a GoCd:

  • mohloli o bulehileng;
  • bonolo ho kenya le ho seta;
  • litokomane tse ntle;

  • sebopeho se setle sa mosebelisi:

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

  • Bokhoni ba ho bonts'a tsela ea phepelo ea GoCD mohato ka mohato ponong e le 'ngoe:

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

  • pontšo e babatsehang ea sebopeho sa lipeipi:

Lisebelisoa tse 3 tse tsebahalang tsa ho hlophisa phepelo e tsoelang pele (Tsamaiso e Tsoelang Pele)

  • GoCD e ntlafatsa ts'ebetso ea CD ho pholletsa le libaka tse tsebahalang haholo tsa maru ho kenyelletsa Docker, AWS;
  • Sesebelisoa sena se etsa hore ho khonehe ho lokisa mathata liphaepheng, tseo ho tsona ho lateloang phetoho e 'ngoe le e' ngoe ho tloha boitlamo ho isa ho phepelong ka nako ea nnete.

Chelete:

  • bonyane ho hlokahala moemeli a le mong;
  • ha ho na console ea ho bonts'a mesebetsi eohle e phethiloeng;
  • ho phethahatsa taelo e 'ngoe le e' ngoe, o hloka ho etsa mosebetsi o le mong bakeng sa tlhophiso ea lipeipi;
  • Ho kenya plugin o hloka ho tsamaisa faele ea .jar ho /plugins/external le ho qala seva hape;
  • sechaba se batlang se le senyane.

E le sephetho

Tsena ke lisebelisoa tse tharo feela, ha e le hantle ho na le tse ling tse ngata. Ho thata ho khetha, kahoo hoa hlokahala ho ela hloko lintlha tse eketsehileng.

Khoutu e bulehileng ea sesebelisoa e u lumella ho utloisisa hore na ke eng, le ho eketsa likarolo tse ncha kapele. Empa haeba ho hong ho sa sebetse, o tlameha ho itšetleha feela ka uena le thuso ea sechaba. Lisebelisoa tse lefuoang li fana ka tšehetso, eo ka linako tse ling e ka bang bohlokoa haholo.

Haeba ts'ireletso e le eona ntho e tlang pele bophelong ba hau, u lokela ho lula u sebelisa sesebelisoa se teng. Haeba ho se joalo, ho khetha tharollo ea SaaS ke khetho e ntle.

Qetellong, ho etsa bonnete ba hore ho na le ts'ebetso e tsoelang pele e atlehang e tsoelang pele, ho hlokahala hore ho thehoe litekanyetso tseo ho khetheha ho tla re lumella ho fokotsa mefuta e mengata ea lisebelisoa tse teng.

Skillbox e khothaletsa:

Source: www.habr.com

Reka sebaka se tšepahalang sa libaka tse nang le ts'ireletso ea DDoS, li-server tsa VPS VDS 🔥 Reka sebaka se tšepahalang sa ho amohela webosaete ka tšireletso ea DDoS, li-server tsa VPS VDS | ProHoster