Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

Ny Continuous Deployment dia fomba fiasa manokana amin'ny fampivoarana rindrambaiko izay ampiasaina amin'ny fampiharana haingana sy azo antoka ary mahomby ny fiasa isan-karazany amin'ny rindrambaiko.

Ny hevi-dehibe dia ny mamorona dingana mandeha ho azy azo itokisana izay ahafahan'ny mpamorona mandefa haingana ny vokatra vita amin'ny mpampiasa. Mandritra izany fotoana izany, ny fanovana tsy tapaka dia atao amin'ny famokarana - izany no antsoina hoe fantsona fanaterana mitohy (CD Pipeline).

Skillbox dia manoro hevitra: Mazava ho azy "Mobile Developer PRO".

Mampahatsiahy izahay: ho an'ny mpamaky rehetra ny "Habr" - fihenam-bidy 10 roubles rehefa misoratra anarana amin'ny taranja Skillbox rehetra mampiasa ny code promotional "Habr".

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

Mba hifehezana ny fikorianan'ny rivotra dia azonao atao ny mampiasa fitaovana isan-karazany, anisan'izany ny karama sy maimaim-poana tanteraka. Ity lahatsoratra ity dia mamaritra ny telo amin'ireo vahaolana malaza indrindra eo amin'ireo mpamorona izay mety ho an'ny programmer tsirairay.

Jenkins

Mpizara automatique loharano misokatra tanteraka. Mendrika ny hiarahana miasa amin'ny fanaovana ho azy ireo karazana asa rehetra mifandraika amin'ny fananganana, fitiliana, fandefasana, na fametrahana rindrambaiko.

Fepetra PC kely indrindra:

  • 256 MB RAM, 1 GB toerana fichier.

tsara indrindra:

  • 1 GB RAM, 50 GB fiara mafy.

Mba hiasa dia mila rindrambaiko fanampiny ianao - Java Runtime Environment (JRE) version 8.

Ny maritrano (computing distributed) dia toy izao:
Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

Jenkins Server dia fametrahana tompon'andraikitra amin'ny fampiantranoana GUI, ary koa ny fandaminana sy ny fanatanterahana ny fananganana manontolo.

Jenkins Node/Slave/Build Server - fitaovana azo amboarina hanao asa fanorenana amin'ny anaran'ny Master (main node).

Fametrahana ho an'ny Linux

Voalohany dia mila manampy ny tahiry Jenkins amin'ny rafitra ianao:

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

Fanavaozana ny tahiry fonosana:

sudo apt update

Mametraka Jenkins:

sudo apt mametraka jenkins

Aorian'izany dia ho hita ao amin'ny rafitra i Jenkins amin'ny alàlan'ny port 8080 default.

Mba hanamarinana ny fiasa dia mila manokatra ny adiresy ao amin'ny navigateur ianao localhost:8080. Ny rafitra dia hanosika anao hiditra ny tenimiafina voalohany ho an'ny mpampiasa root. Ity tenimiafina ity dia hita ao amin'ny rakitra /var/lib/jenkins/secrets/initialAdminPassword.

Ankehitriny dia vonona ny handeha ny zava-drehetra, afaka manomboka mamorona CI/CD mikoriana ianao. Ny interface grafika amin'ny workbench dia toa izao:

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

Jenkins Strengths:

  • scalability nomen'ny maritrano Master/Slave;
  • ny fisian'ny REST XML/JSON API;
  • ny fahafahana mampifandray be dia be ny fanitarana noho ny plugins;
  • fiaraha-monina mavitrika sy mivoatra hatrany.

maharatsy ny mifampiresaka:

  • tsy misy sakana analytique;
  • tsy tena mpampiasa interface tsara.

TeamCity

Fampandrosoana ara-barotra avy amin'ny JetBrains. Ny mpizara dia tsara amin'ny fametrahana tsotra sy interface tsara. Ny config default dia manana fiasa marobe, ary mitombo hatrany ny isan'ny plugins misy.

Mitaky Java Runtime Environment (JRE) version 8.

Ny fepetra takian'ny hardware server dia tsy mitsikera:

  • RAM - 3,2 GB;
  • processeur - roa-fototra, 3,2 GHz;
  • fantsom-pifandraisana manana fahafahana 1 Gb/s.

Ny mpizara dia mamela anao hahatratra fahombiazana ambony:

  • Tetikasa 60 miaraka amin'ny fananganana fananganana 300;
  • Fanomezana 2 MB ho an'ny fananganana log;
  • 50 mpanao fanorenana;
  • ny fahafahana miasa amin'ny mpampiasa 50 amin'ny dikan-tranonkala sy ny mpampiasa 30 ao amin'ny IDE;
  • Fifandraisana 100 an'ny VCS ivelany, matetika Perforce sy Subversion. 120 segondra ny salan'isan'ny fiovana;
  • mihoatra ny 150 fanovana isan'andro;
  • miasa miaraka amin'ny angon-drakitra amin'ny mpizara iray;
  • Fikirana fizotry ny mpizara JVM: -Xmx1100m -XX:MaxPermSize=120m.

Ny fepetra takian'ny agence dia mifototra amin'ny fihariana mandeha. Ny tena asan'ny mpizara dia ny manara-maso ireo mpiasa rehetra mifandray ary mizara ireo fivoriambe milahatra amin'ireo mpiasa ireo mifototra amin'ny fepetra mifanaraka, mitatitra ny valiny. Tonga amin'ny sehatra sy rafitra miasa isan-karazany ny agents, miampy tontolo iainana efa voarindra.

Ny fampahalalana rehetra momba ny valin'ny fananganana dia voatahiry ao anaty angon-drakitra. Voalohany indrindra dia ny tantara sy ny angon-drakitra hafa mitovy amin'izany, ny fanovana VCS, ny mpiasa, ny fananganana filaharana, ny kaonty mpampiasa ary ny fahazoan-dàlana. Ny angon-drakitra dia tsy ahitana ny fananganana logs sy artifacts ihany.

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

Fametrahana ho an'ny Linux

Raha hametraka an-tànana ny TeamCity miaraka amin'ny container servlet Tomcat dia tokony hampiasa ny tahiry TeamCity ianao: TeamCity .tar.gz. DOWNLOAD azonao alaina avy eto.

tar -xfz TeamCity.tar.gz

/bin/runAll. sh [manomboka|mijanona]

Raha vao manomboka ianao dia mila misafidy ny karazana angon-drakitra izay hitehirizana ny angona fivoriambe.

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

Mandeha ny config default localhost:8111/ miaraka amin'ny mpiasan'ny fananganana voasoratra anarana mandeha amin'ny PC iray ihany.

Ny tanjaky ny TeamCity:

  • setup mora;
  • interface tsara ho an'ny mpampiasa;
  • be dia be ny naorina-in asa;
  • Serivisy fanohanana;
  • misy API RESTful;
  • antontan-taratasy tsara;
  • fiarovana tsara.

maharatsy ny mifampiresaka:

  • fampidirana voafetra;
  • Fitaovana karamaina ity;
  • fiaraha-monina kely (izay mitombo anefa).

GoCD

Tetik'asa loharano misokatra izay mitaky Java Runtime Environment (JRE) version 8 ho an'ny fametrahana sy fampandehanana.

Fepetra momba ny rafitra:

  • RAM - 1 GB farafahakeliny, bebe kokoa no tsara kokoa;
  • processeur - roa-fototra, amin'ny fototra matetika ny 2 GHz;
  • fiara mafy - farafahakeliny 1 GB ny toerana malalaka.

Agent:

  • RAM - fara fahakeliny 128 MB, bebe kokoa no tsara kokoa;
  • processeur - farafahakeliny 2 GHz.

Ny mpizara dia miantoka ny fiasan'ny mpiasa ary manome interface tsara ho an'ny mpampiasa:

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

Dingana/Asa/Asa:

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

Fametrahana ho an'ny Linux

akony "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

Apt-get update

apt-get install -y openjdk-8-jre

apt-get install 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]

Amin'ny alàlan'ny default dia mandeha ny GoCd localhost: 8153.

Ny tanjaky ny GoCd:

  • loharano misokatra;
  • fametrahana tsotra sy fanamafisana;
  • antontan-taratasy tsara;

  • interface tsara mpampiasa:

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

  • fahafahana mampiseho ny lalana fandefasana GoCD tsikelikely amin'ny fomba fijery iray:

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

  • fampisehoana tsara ny firafitry ny fantsona:

Fitaovana malaza 3 amin'ny fandaminana ny fandefasana mitohy (Fanaraha-maso tsy tapaka)

  • GoCD dia manatsara ny CD workflow amin'ny tontolo rahona malaza indrindra ao anatin'izany ny Docker, AWS;
  • Ny fitaovana dia ahafahana manitsy ny olana ao amin'ny fantsona, izay misy ny fanaraha-maso ny fanovana rehetra manomboka amin'ny fanoloran-tena ka hatramin'ny fametrahana amin'ny fotoana tena izy.

maharatsy ny mifampiresaka:

  • farafahakeliny mpiasa iray no ilaina;
  • tsy misy console hanehoana ny asa vita rehetra;
  • mba hanatanterahana ny baiko tsirairay dia mila mamorona asa iray ho an'ny fanamafisana fantsona ianao;
  • Mba hametrahana ny plugin dia mila mamindra ny rakitra .jar mankany /plugins/external ary avereno indray ny mpizara;
  • fiaraha-monina somary kely.

Ho fehin-kevitra

Fitaovana telo ihany ireo, raha ny marina dia mbola misy maro hafa. Sarotra ny misafidy, noho izany dia mila mitandrina amin'ny lafiny fanampiny ianao.

Ny kaody loharano misokatra amin'ny fitaovana dia ahafahana mahazo ny anton'izany, miampy fampiasa vaovao haingana kokoa. Fa raha misy zavatra tsy mandeha, dia tsy maintsy miantehitra amin'ny tenanao sy ny fanampian'ny fiaraha-monina ihany. Ny fitaovana karama dia manome fanohanana izay mety ho fanakianana indraindray.

Raha ny fiarovana no laharam-pahamehanao dia mendrika ny miasa miaraka amin'ny fitaovana eo an-toerana. Raha tsy izany dia safidy tsara ny fisafidianana vahaolana SaaS.

Ary farany, mba hiantohana ny fizotry ny fampielezana tena mahomby dia mila mamorona fepetra ianao izay mamela anao hametra ny isan'ny fitaovana misy.

Skillbox dia manoro hevitra:

Source: www.habr.com

Add a comment