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

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:

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 — | sudo apt-key tāpiri - echo 'deb 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 :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:


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.

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 .
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.

Ka haere te whirihoranga taunoa :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:

Nga wahanga/Nga Mahi/Nga Mahi:

Tāutatanga mō Linux
oro "deb /” | sudo tee /etc/apt/sources.list.d/gocd.list
Tuhinga | 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 : 8153.
Nga kaha o GoCd:
- puna tuwhera;
- te whakaurunga me te whirihoranga ngawari;
- tuhinga pai;
- Atanga kaiwhakamahi pai:

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

- whakaatu pai o te hanganga paipa:

- 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:
- E rua tau te akoranga mahi .
- Akoranga aipurangi .
- Akoranga tau mahi .
Source: will.com
