3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

Ko te Whakamahinga Tonu he huarahi motuhake i roto i te whanaketanga rorohiko e whakamahia ana kia tere, kia haumaru, kia pai hoki te whakatinana i nga momo mahi i roto i te rorohiko.

Ko te whakaaro nui ko te hanga i tetahi tukanga aunoa pono e taea ai e te kaiwhakawhanake te tuku tere i te hua kua oti ki te kaiwhakamahi. I te wa ano, ka huri tonu nga huringa ki te hanga - ka kiia tenei ko te pipeline tuku tonu (CD Pipeline).

Ka tūtohu a Skillbox: Akoranga mahi "Whakawhanake Waea PRO".

Ka whakamahara matou: mo nga kaipānui katoa o "Habr" - he utu mo te 10 rubles i te wa e whakauru ana ki tetahi akoranga Skillbox ma te whakamahi i te waehere whakatairanga "Habr".

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

Hei whakahaere i te rere, ka taea e koe te whakamahi i te whānuitanga o nga taputapu, tae atu ki te utu me te kore utu. Ko tenei tuhinga e whakaatu ana e toru o nga otinga tino rongonui i waenga i nga kaiwhakawhanake ka whai hua ki ia kaihātaka.

Jenkins

Ko te tūmau aunoatanga puna tuwhera kei roto i a ia ano. He pai te mahi ki te whakaaunoa i nga momo mahi katoa e pa ana ki te hanga, ki te whakamatautau, ki te tuku, ki te whakamahi rorohiko ranei.

Nga whakaritenga PC iti:

  • 256 MB RAM, 1 GB mokowā kōnae.

Tino pai:

  • 1 GB RAM, 50 GB puku mārō.

Hei mahi, ka hiahia koe ki etahi atu rorohiko - Java Runtime Environment (JRE) putanga 8.

Ko te hoahoanga (rorohiko tohatoha) penei te ahua:
3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

Ko Jenkins Server he whakaurunga kei a ia te kawenga mo te manaaki GUI, me te whakarite me te whakahaere i te hanga katoa.

Jenkins Node/Slave/Build Server - nga taputapu ka taea te whirihora ki te mahi hanga mahi mo te Kaiwhakaako (master node).

Tāutatanga mō Linux

Tuatahi me taapiri koe i te putunga a Jenkins ki te punaha:

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

Whakahōu te putunga mōkihi:

sudo apt whakahou

Tāuta Jenkins:

sudo apt tāuta jenkins

Whai muri i tenei, ka watea a Jenkins ki te punaha ma te tauranga taunoa 8080.

Hei tirotiro i te mahi, me whakatuwhera koe i te wahitau i roto i te tirotiro localhost:8080. Ma te punaha ka akiaki koe ki te whakauru i te kupuhipa tuatahi mo te kaiwhakamahi pakiaka. Ko tenei kupuhipa kei roto i te konae /var/lib/jenkins/secrets/initialAdminPassword.

Inaianei kua rite nga mea katoa ki te haere, ka taea e koe te timata ki te hanga i nga rerenga CI/CD. He penei te ahua o te atanga kauwhata o te papamahi:

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

Nga Kaha o Jenkins:

  • scalability whakaratohia e te Kaiwhakaako / Taurekareka hoahoanga;
  • te wātea o REST XML/JSON API;
  • te kaha ki te hono i te maha o nga taapiri whakawhetai ki nga mono;
  • hapori kaha me te whanake tonu.

Cons:

  • karekau he poraka tātari;
  • e kore e tino ratarata-kaiwhakamahi atanga.

TeamCity

Te whanaketanga arumoni mai i JetBrains. He pai te tūmau me te tatūnga ngawari me te atanga pai. Ko te whirihoranga taunoa he maha nga mahi, a kei te piki haere tonu te maha o nga taputapu e waatea ana.

Hiahia Java Runtime Environment (JRE) putanga 8.

Ko nga whakaritenga o te taputapu taputapu he mea tino kore:

  • RAM - 3,2 GB;
  • pūtukatuka - rua-matua, 3,2 GHz;
  • hongere korero me te kaha o te 1 Gb/s.

Ka taea e te tūmau te whakatutuki i te mahi teitei:

  • 60 kaupapa me te 300 hanga whirihoranga;
  • 2 MB te tohatoha mo te hanga rangitaki;
  • 50 nga kaihoko hanga;
  • te kaha ki te mahi me nga kaiwhakamahi 50 i te putanga tukutuku me nga kaiwhakamahi 30 i roto i te IDE;
  • 100 nga hononga o te VCS o waho, ko te nuinga o te Perforce me te Huringa. Ko te wa huringa toharite he 120 hēkona;
  • neke atu i te 150 nga whakarereketanga ia ra;
  • mahi me te pātengi raraunga i runga i te tūmau kotahi;
  • Tautuhinga tukanga tūmau JVM: -Xmx1100m -XX:MaxPermSize=120m.

Ko nga whakaritenga a nga kaihoko kei runga i nga huihuinga whakahaere. Ko te mahi matua a te tūmau ko te aro turuki i ngā āpiha tūhono katoa me te tohatoha i ngā hui tūtira ki ēnei āpiha i runga i ngā whakaritenga hototahi, me te whakaatu i nga hua. Ka tae mai nga kaihoko ki roto i nga momo papaaho me nga punaha whakahaere, me te taiao kua oti te whakarite.

Ko nga korero katoa e pa ana ki nga hua hanga ka rongoa ki roto i te paataka raraunga. Ko te tuatahi ko te hitori me etahi atu raraunga rite, nga huringa VCS, nga kaihoko, te hanga rarangi, nga kaute kaiwhakamahi me nga whakaaetanga. Karekau e uru ki roto i te papaunga raraunga nga rakau hanga me nga taonga toi.

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

Tāutatanga mō Linux

Hei tāuta ā-ringa TeamCity me te ipu servlet Tomcat, me whakamahi koe i te pūranga TeamCity: TeamCity .tar.gz. Tikiake ka taea e koe te tiki mai i konei.

tar -xfz TeamCity.tar.gz

/bin/runKatoa. sh [tīmatanga|mutu]

I te wa tuatahi ka timata koe, me tohu koe i te momo papaa raraunga e penapena ai nga raraunga huihuinga.

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

Ka haere te whirihoranga taunoa localhost:8111/ me tetahi kaihoko hanga rehita e whakahaere ana i runga i te PC kotahi.

Nga kaha o TeamCity:

  • tatūnga ngawari;
  • atanga ratarata-kaiwhakamahi;
  • he maha o nga mahi hanga-i roto;
  • Ratonga tautoko;
  • he API RESTful;
  • tuhinga pai;
  • haumaru pai.

Cons:

  • iti te whakauru;
  • He taputapu utu tenei;
  • he hapori iti (heoi, kei te tipu haere).

HaereCD

He kaupapa puna tuwhera e hiahia ana te Java Runtime Environment (JRE) putanga 8 mo te whakaurunga me te mahi.

Whakaritenga Pūnaha:

  • RAM - 1 GB iti rawa, he pai ake;
  • pūtukatuka - rua-matua, me te auau matua o 2 GHz;
  • puku mārō - i te iti rawa 1 GB o te mokowā wātea.

Kaihoko:

  • RAM - i te iti rawa 128 MB, he pai ake;
  • pūtukatuka - i te iti rawa 2 GHz.

Ka whakarite te tūmau i te mahi a nga kaihoko me te whakarato i tetahi atanga watea mo te kaiwhakamahi:

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

Nga wahanga/Nga Mahi/Nga Mahi:

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

Tāutatanga mō Linux

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

Tuhinga download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key tāpiri -
tāpiri-apt-repository ppa:openjdk-r/ppa

whakahou-kia whakahou

apt-tiki tāuta -y openjdk-8-jre

apt-tiki tāuta haere-tūmau

apt-tiki tāuta haere-agent

/etc/init.d/go-server [tīmata|whakatū|tūnga|whakahou]

/etc/init.d/go-agent [tīmatanga|mutu|tunga|whakahou]

Ma te taunoa ka rere a GoCd localhost: 8153.

Nga kaha o GoCd:

  • puna tuwhera;
  • te whakaurunga me te whirihoranga ngawari;
  • tuhinga pai;

  • Atanga kaiwhakamahi pai:

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

  • te kaha ki te whakaatu taahiraa-i-te-taahiraa i te ara tohatoha GoCD i te tirohanga kotahi:

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

  • whakaatu pai o te hanganga paipa:

3 nga taputapu rongonui mo te whakarite i te tukunga haere tonu (Te Tukunga Tonu)

  • Ka arotau a GoCD i te rerengamahi CD i roto i nga taiao kapua rongonui tae atu ki a Docker, AWS;
  • ka taea e te taputapu te whakatika i nga raru i roto i te paipa, kei reira te aroturuki i nga huringa katoa mai i te tuku ki te tuku i te waa tuuturu.

Cons:

  • kia kotahi te kaihoko e hiahiatia ana;
  • karekau he papatohu hei whakaatu i nga mahi kua oti katoa;
  • ki te whakahaere i ia whakahau, me hanga e koe tetahi mahi mo te whirihoranga paipa;
  • Hei whakauru i te mono me neke koe i te konae .jar ki / mono / waho ka whakaara ano i te tūmau;
  • hapori iti.

Hei whakatau

E toru noa enei taputapu, inaa he maha noa atu. He uaua ki te whiriwhiri, na me tino aro koe ki etahi atu waahanga.

Ko te waehere puna tuwhera o te taputapu ka taea te mohio he aha tena, me te taapiri i nga waahanga hou kia tere ake. Engari ki te kore e mahi tetahi mea, me whakawhirinaki koe ki a koe me te awhina o te hapori. Ko nga taputapu utu e tautoko ana i etahi wa he mea tino nui.

Mena ko te haumarutanga to kaupapa matua, he pai te mahi me tetahi taputapu o te rohe. Ki te kore, na ko te whiriwhiri i tetahi otinga SaaS he whiringa pai.

Ka mutu, ki te whakarite i te tino whai hua o te tukunga mahi tonu, me whakatakoto e koe nga paearu ma nga mea motuhake ka taea e koe te whakawhäiti i te whānuitanga o nga taputapu e waatea ana.

Ka tūtohu a Skillbox:

Source: will.com

Tāpiri i te kōrero