Sysadminka áľáááľ á áľá°áłáłáŞ áľáĽá°áŁáá˝ á áźááŤá˘ááľá ááľáĽ áĽá¨á°áŤáá° áá, áĽá á áá¨á¨áť á ááľ áĽá Kubernetes ááľáĽ 1C-Bitrix áá áá°áá áŞáŤáá˝á áááľáŹáľ áŤááá áááľá áá áŞáááľ á°á á.
Bitrix, Kubernetes, Ceph - á áŁá áĽáŠ áľáĽáá ?
á¨áá áá á¨áá°áŤ áááľá áĽáá´áľ áĽáá°ááááá áĽáááááłáá.
áĽáááľ!
áľáĽá°áŁá á¨á°áŤáá°á á¤ááŞá 18 á áźááŤá˘ááľá áá áᢠáľá áľáĽá°áŁááťá˝á á áá ááá ἠáá˝ááá˘
á áŞáááľ ááá á á áľáá áá° áĽá áááŁáľ á¨ááá - áĽááłá á°á á áᥠᣠááá [á˘áá á¨á°á á á] áĽá á á´áááŤá t.me/vadimisakanov.
á¨áĽá áááŁ
áááľá "Bitrix in KubernetesᣠáľáŞáľ Southbridge 1.0"
á áľáĽá°áŁá áá áĽáá°á°á°á¨áá "ááąááá˝ á áŠá áááľáľ" á áá¸áľ áľááĽá áááľá áĽáááŤáá. ááá áá Bitrix, Docker, Kubernetes, Ceph á¨áááľá áááľ á˘áŤááľ á ááŞáá˛áŤ áá áŁá ááŁáĽáá˝ á°á¨á áĽáá°ááŤáá áĽáááłááá˘
á áŠá áááľáľ ááľáĽ áľá Bitrix áá ááá áá?
á áŠá áááľáľ ááľáĽ áľá Bitrix á áááŹá˝áá˝ á á áŤá á ááá á áááá¨áĽ áá á áŁá áľáá˝ áá¨á á áá˘
áĽááá
á ááłááśá˝ áĽáť á ááá:
ááᣠá á áááłáá°á á°ááĄáᣠ1á˛-á˘áľáŞááľ áĽá á ááśá áąáááŽá á¨Qsoft
áĽáąá áááłáἠáĽáááŤááá˘
á¨á°á ááá á¨áŤáľáá áááľá áááááľ
á°á¨á᪠á°áááˇá
á á á... á áĽáááąáŁ ፠áĽáť ááá˘
á áľá áá
áá˝áááᣠá¨áá áŁááľ áááááá˝ á¨áááľááášá áĽáŤáľ á áá¨áááĽááᢠ:)
á áááŤá˝á áá áááľáá˝áá á áááá
á áľ áá á¨á áááłáá°á á°ááĄá áá á°áááááŠá ᣠá¨á፠áŞáááą áá á áááŁá ᣠáľáááá á áĽá áľáááśá˝ ááľáĽ âBitrix Kubernetes á áá áááâ á¨áá ááĽá á á ââá˘
ááá áá Bitrix á Docker ááľáĽ ááááľ áĽá ááá á¨áá Docker ááľáá˝ á áá˘
áá
á áŠá áááľáľ ááľáĽ á Bitrix á¨á°áá áááľá áááá á á á áá?
á á. áááłáľ áŤááŁá¸á áĽá ááĽá áŤáá¸á á˝ááŽá˝ á áá˘
á áŠá áááľáľ ááľáĽ ᨠBitrix áá áá á˝ááŽá˝ á á?
á ááááŞáŤ, ᨠDockerhub á¨á°ááá ááľáá˝ ááŠá áááľáľ á°áľáá á áá°áá
á¨áááᎠá°ááŞáľ á ááá´áá¸á ááááŁáľ á¨áááá (áĽá á Kubernetes ááľáĽ áĽááá áá á¨ááá°áŤá) á¨áŠá áááľáľ áá°áá áŞáŤá˝áá áá° áŽáá´áááŽá˝ ááá¨áľ áĽá áĽáŤááłááą áŽáá´ááá á ááľ áľáá˝ á°ááŁá áĽáá˛áá˝á (áĽá á áĽáŠ áááł áĽáá˛á°áŤ) ááľá¨á á ááĽáᢠááá á ááľ áĽáť? á á áá á áááá ááá á¨ááá áá áἠá áľá°ááá áá.
á¨á áá ááá˝ ááááᣠáá
á á˝áá áĽá áŞá˛áŽ áááá¨áąáŁ áĽáŁáááĄ-
Dockerhub ááľáĽ Docker ááľáá˝ á ááááľ áá-á -á ááľ ááá áá á¨á°ááᥠáá¸á, áľááá áĽá á ááá á¨áŤáłá˝áá áĽáľáááľ ááľáŤáľ áĽá á¨áŁáś ááľáá˝á ááá á áá á.
ááá°á - á¨áŁá˘áŤá áŽáľ á¨á áľá°áłáłáŞá ááá á°áľá°áŤááá
á áŁá˘áŤá áá á á˛áľ ááá áá áá - áŽáą á°áááá (á¨á á˛áą ááá áľá áŤáá áá፠á°á¨ááŻá)á˘
á¨á áľá°áłáłáŞá ááá á¨á ááľ á áŤá áŁá áŞáŤáľá á¨áá¨áŠ, áŽáą á°áááŻá.
Kubernetes "á ááŁáŞ" á¨áá áá ááľáŤáľ á áá˝áá, áŽáá´áááŽá˝ á áá á áᣠááá á ááŁá¸á.
ááááŤáľáĄ á áááľá°á ááľáĽ áŤá áĽáŤááłááą áŽáá´ááá (ááľ) á¨áľáŤáአá¨á°áá°ááá áĽáť áŤáŤááłáᢠáŽáąá á á ááľ áŽáá´ááá (ááľ) áĽáť á¨áá¨áŠáľ áŽáą á á°ááŤá¨ ááľ ááľáĽ á¨á°áᨠáááá, áŁá˘áŤá á á°áᨠááááľ áá°áŤá, áĽá á¨á°ááŤáŠ á¨áŁá˘áŤá áľáŞáśá˝ áá°ááŤáŠ á°á áááá˝ ááłáŤá. áĽáá°á ááá á áľá˝ááá˘
áśáľá°á - ááłáŠá á áá°ááŤáľ áááłáľ áŤáľáááááłá
ááááľ áĽá á ááľ "á ááá" á áááá áŤáá, ááá ááá á áŁá ááá áá: á á˛áľ á¨áŽáľ áá°á¨áľá áĽáá°ááŤáá, á¨ááἠááłáá áĽáá¸áááŤáá, áľáŤááá áá° á á˛áą á¨áŽáą áľáŞáľ áĽááááŤáá. ááá¨á áá˛áŤáá áá¨á°áłá.
á áŠá áááľáľ ááľáĽ á ááľ áŁá˘áŤ áŤáá, áá° áááᎠá°ááŞáľ á°ááá§á, áŽáľ áŤáá¸á áĽá ááŤáŁáá˝ á á - áŚá
. áŽáá´áááŽá˝á á á á˛áľ á¨áŽáą áĽáŞáľ áá°áĽá°áĽáŁ á¨á áŽáááš ááá
áááá
ᣠá¨ááἠááłáá á áľááá áááá áĽá á ááĽááá˝ áłááľá°áá ááľá¨á áŤáľáááááłáᢠáĽáá° áĽáľá áá, Kubernetes á áá
áá áŤáááá, á á á ááá á¨á°ááŤáŠ á áááľ áá°ááŤáľá áá°ááá.
á áŤá°á - áľáłá˛áľá˛ááľá á¨áá¨áá¸áľ ááłá áááłáľ áŤáľáááááłá
áŁá˘áŤá "áĽáť" 10 áááŁááľ á¨áá áĽá áá á áá á ááŤáŁáá˝ ááľáĽ áŤá°ááŠáľ, áĽáľá¨áá¨á¨áťá ááá°ááŤáľ á¨áááľáą 10 áááŁááľ ááŤáŁáá˝á áŤááá.
á¨áŁá˘áŤá "á áŁá á¨áŁáľ" áááá˝á á¨ááŤáŁáá˝ áá áá¨áá¸áľ áŤáľáááááłá, áĽá áá
á áĽáá´áľ á áľááá ááľá¨á áĽáá°ááťá áĽáŤáá áááłá.
á¨áááľááŤá˝á áá áá°áá?
ááá ᨠBitrix áŽáľ áá° ááááŽááááľ/áááᎠá°ááŞáľ á áá°á¨áááá (áááᣠá¨á°áᨠáĽáá˛ááᣠá¨ááľáá áá áá°áĽá ááá á¨á°áᨠááᣠááá°.) á áĽáŤááłááą ááŤáŁ ááľáĽ áááá á¨áŽáľ áá á¨áľ áĽáá¨ááťáá.
á á°á¨ááŞá á¨ááἠááłáá á áŠá áááľáľ ááľáĽ á áá¨áá˝á (á ááá ááááľ á áŤáŁá˘áá˝ á Kubernetes á¨ááἠááł áá áááľááá˝á á°ááŁáŤá á áľáááŤáá, ááá áá ááááľ á áá°áá).
áŁá˘áŤá á áŠá áááľáľ áá áĽáá°áá°áŤ ááŁá˘áŤ á áľá°áłáłáŞáá˝ á ááá á¨ááłá ááááᢠ"á¨áľáááľ áá°áť" á°ááŁá á áľááá á áá°áŤá, á¨áŁá˘áŤáá áŽáľ á¨á áľá°áłáłáŞá ááá ááá¨á á ááááŞáŤ "áŽáąá áá¨á áĽááááá" á¨áááá ááá á á ááľá¨á á ááĽááľ.
á˝ááŽáš á°ááá°áá, áááᎠá°ááŞáľ á¨áá°áá á á áľáááááľ á°ááľáá, áᥠááá˝ áá - á Bitrix áá á Kubernetes ááľáĽ áá°áá áŞáŤáá˝á áááľáŹáľ á¨áľáŤ áľáááľ áááááľ, á¨á˘áľáŞááľ á á áá áĽá ᨠKubernetes áĽá áá˝á áá áĽáá. áľáá ፠áĽááááá˘
áĽá ááá
á¨áľá á áááá (á°áŤá°áá˝) áá áĽá "á¨áá°áŠ" ááśá˝ á á.
ᨠcron á°ááŁáŤáľ á áłá˝ á ááą (á ááľ áĽáť áŤáľáááá)á˘
á¨á áľá°áłáłáŞ ááá á¨áŁá˘áŤáá áŽáľ ááá¨á á ááľ ááťáťáŤ (áĽáá˛áá á ááľ áĽáť áŤáľáááá)á˘
áĽáŤááá˝á áĽáááłáá-
- ááá áááá˝á á¨áľ áá¨áá¸áľ?
- áá¸ááŤáá á¨áľ áá¨áá¸áľ?
- áááŁááľ áľáłáľá˛ááľá á áĽá áá áŤáá፠ááľáĽ áááľááἠáłááá áľáłá˛áľá˛ááľá á¨áľ áĽáá°áá¨áá˝?
- á¨áá¨á ááą áĽáá´áľ áá°áŤá?
Docker ááľá
á¨áśá¨á ááľá á ááááŁáľ áĽááááŤáá.
á áŁá áĽáŠá á ááŤá á ááľ áááá°áá ááľá á áá ᣠá áĽáą áá á¨áľ á¨á°áŤá°á áᾠᣠááŽáááľ áŤáá¸á ááľ áĽá á áťá˝á ááľáá˝á áĽáááááá˘
nginxᣠapache/php-fpm (á áááŁáł áá ááá¨áĽ áá˝áá)ᣠáááááľ áááá msmtp áĽá ááŽá áŤáŤáľáłáá˘
ááľáá á áááŁá áá áľ áá á¨áŁá˘áŤá á á ááá áŽáľ áá° / áá°áá áŞáŤ áá፠áááá áŁá (á¨áĽáá፠áááá˝ á áľá°áá áá° á¨á°áᨠá¨á፠áá¨ááť á¨ááááááá áľ)á˘
áááᎠá áááááśá˝, á áááááśá˝
á¨á°áŤá°á áááśá˝;
- ááŤáŁ á nginx + ááŤáŁ apache/php-fpm + msmtp
- msmtpá áá° á°áᨠáááᎠá°ááŞáľ ááááአá áá°áŤáᣠá˘áľáŞááľ á ááĽáł áááááľ ááá áŁáááťá áááŁáą áááŻáá˘
- áĽáŤááłááą ááŤáŁ á¨á°áá áŽáľ á¤á á áá.
- á ááŤáŁáá˝ ááľáĽ áŽáľá á¨ááá¨á ááá¨áá˘
ááŽá áľááĄ
- ááŤáŁ á apache, php, cron
- á¨á°áá áŽáľ áá á¨áľ á°áŤáľáˇáá˘
- á áŽáá´áááŽá˝ ááľáĽ áŽáľá á¨ááá¨á áĽááł
á áťá˝á á áá¨á°áá áľá
- nginx ááŤáŁ + apache/php-fpm ááŤáŁ + msmtp
- á áŽáá´áááŽá˝ ááľáĽ áŽáľá ááááἠááá ááá¨á á¨áá
á¨ááá áá áá¨ááť
á¨á˘áľáŞááľ áá¸á፠áá¨ááť
ááá á áľááá ááá: á¨ááá ááá áá ááááááľ á¨ááá ááá˝á áĽáá¨ááťáá, á¨áá¨á ááľ áá° ááľáł, á kubernetes ááľáĽáŽá˝ ááľáĽ. áááť áĽááááá: á¨ááá ááá˝ á¨ááłáŠáľ ááľá˘áŽá˝á á¨ááá°áŁá¸á áĽáť áá, áĽá á¨ááŽáááąá áŽáľ áá°á¨áľ ááá áá á áá°áá.
ááľáłáľá˛ááľ áá¨ááť
áááááá ááá áá áá áá˝áá: ceph, nfs (áá nfs á áááá¨áľ á ááááá), á¨á ááłá¨ áá¨áĽ áá¨ááť á¨á°áá á á áŤá˘áá˝, ááá°.
áá¨ááťá á ááŤáŁáá˝ ááľáĽ á¨áŁá˘áŤá / á°áá/ áá፠áĽá ááá˝ á¨áááááłááľ áááľ áŤáá¸á áááŤáá˝ áá áááááľ á áá áľá˘
á¨ááἠááł
ááááááľ, á¨ááἠááłáá ᨠKubernetes áá áááááłááľ áĽááááŤáá. á áŠá áááľáľ ááľáĽ áŤáá áá á¨áľ á¨á°áᨠá¨á°ááłá°á á°ááŁá áá ᣠáĽá áąá á¨ááĽá°áľ á á°á á°á¨á°á á¨á áá á¨á°ááłá°á áŤá°ááááá˘
á¨ááá-áá áá¨ááť
áááŤáźáľ áĽáá áááá :)
á¨ááá-áá áá¨ááťá á á°áἠáŤáľá°áááłáᣠá°á°áĽáľá§á áĽá áĽáá° ááá-áá á php ááľáĽ "á á¤á°á" áá°áááᢠáĽá á¨áľá¨-áá˝ á ááááŽá˝ áŤáá¸á áľáĽáľáŚá˝á áľáááᣠá áĽááłáá áááá˛á á ááá´áá¸á ááľáĽ áĽáá˛á ááááą áĽáááľ áĽá áá á°ááľááᢠááá°ááŤáľ helm áĽáá ááááá˘
$ helm install stable/memcached --name session
php.ini - áĽáá ááľá á memcached ááľáĽ ááá áááá˝á ááá¨áá¸áľ á ááĽáŽá˝á ááá
áľá á áľá°áááá˝ áá¨á á áááŤáźáľ áááľá°ááá á¨á áŤáŁá˘ á°ááááŽá˝á á°á áááá˘
áá
á á˛áŞ, á°á¨á, áá°á, ááŽáľ á á¨áŁá˘áá˝ ááľáĽ á ááľ á áááľ áŽáľ áĽáá˛á áá ááá
áľáááłá (á áĽááą ááľáĽ á¨á°áŤá°áąáľ á¨á áľá°ááá
áľáá˝ áááŤáŤá, áľááá
ááĽáŤááłááą á áŤáŁá˘ áááá-áááá˝ áአá¨áá á¨á áľá°ááá
áľá ááľá°ááá á ááĽá).
á¨á˘áľáŞááľ áá¸á፠áá¨ááť
ááá ááľáá˝ á¨áá˝áá áľ áĽá á¨ááŤááĄáľ áľá á°áľá á¨áááá áá¨ááť áĽááááááá˘
áĽá á°áá memcached áĽáá ááááá˘
áá
áááľá á á˘áľáŞááľ á áŤáą ááá¨áŤá.
$ helm install stable/memcached --name cache
bitrix/.settings_extra.php - áĽáá Bitrix ááľáĽ áá¸ááŤá á¨áá¨áá˝á áľ áŚáł ááááťáá˘
áĽáá˛áá á¨á áŤáŁá˘ á°ááááŽá˝á áĽáá ááááá˘
ááŽááłáľáŞ
á áŠá áááľáľ ááľáĽ Crontasksá ááááľ á¨á°ááŤáŠ á ááŤá¨áŚá˝ á áá˘
- Crontasks á ááááľ á¨ááľ áá á¨á°áᨠáá°ááŤáľ
- ááŽááἠááŽááľá áááľáŹáľ (áá
á¨áľá áá°áá áŞáŤ á¨áá - ᨠwget áá
https://$host$cronjobname ᣠááá kubectl exec á á áá°áá á¨á°áŤá°á áᾠᣠááá°.) - ááá°
á áŁá áľáááá á ááá ááłá áá áá¨áŤá¨á áá˝áá ᣠáá á áá áááł âá¨ááľáľ áá á ááŽááłááľ á¨á°áᨠáá°ááŤáľâ á¨áááá á ááŤá ááá áá á˘
áĽáá´áľ áĽáá°áá°á¨ááĄ-
- ᨠcron á°ááŁáŽá˝á á ConfigMap ááá á config/ addcron ááá á áŠá áŤáá
- á á ááľ á ááŁá á¨á áŤá°áá ááľ áá á°ááłáłá á¨áá ááŤáŁ áĽááľááłáá + á ááľáĄ á¨áááľ á°ááŁáŤáľá áĽáá˛áá˝á áĽááá áłáá
- á°ááłáłáŠ áŽáľ áá á¨áľ áĽá á áá áááá ᣠáááááľ ááľáá áááŁá ᣠá¨áĽá ááŤá áľáĽáľáĽ ááá ááá˘
áá áĽáŠ ááá áĽááááá:
- á¨ááá˘áá˝ á áŤáŁá˘ (áśá¨á) áá á áááłá°á á áŤáŁá˘ ááľáĽ á¨áá°áŠ ááŽááłáľááá˝ á áá
- Crontasks á Kubernetes "áĽáá°áá ááá" á áŤáľáááá¸áá, áá áĽáá°á ááą á á°ááłáłá ááአáĽá á á°ááłáłá áŽáľ áá°á¨áľ áá°áŤá.
- ááŽá á°ááŁáŤáľ á áľá°áłáłáŞáá˝ áĽáť áłááá ááááľ á áááŤá áá ááĽáľ áŁáá¸á ááá á¨áĄáľá á áŁááľ áá¨áአáá˝ááá˘
Southbridge K8SDeploy ááá áĽá áŽáľ á ááľááľ á¨á áľá°áłáłáŞ ááá
áľá ááťáťáŤ áĽá¨á°ááááá áá á?
áĽá፠áľáŤáá áĽáá´áľ áĽáá°áááŤ?
ááŹáŁ ááá
ââááá á PHP á˝ááá :) áá
áBitrix áľáá˝ á¨ááłááá ááá ááᢠáĽáľáŤáá á áá á áá°áááᣠáá áááááľ á á
á°ááá˘
ááá á á˘áľáŞááľ ááľáĽ áĽáá° áá°á á ááá á°ááááĄ-
áĽá áá á áááľááá˘
á¨áŁá˘áŤáá á áľá°áłáłáŞ á¨ááá áĽá áŠá áááľáľ áá° ááťáťáŤ ááľ áľáŤáá áĽáá˛áá á¨ááŤáľá˝á áŠáŞ áĽáá˛áŤááá ááá áľáááłáá˘
áááŚáš á˛á ááá git push á á á ááľá¨á áŤáľáááááłá ᣠá¨áŽáą áááŚá˝ áá° git áááŤá ᣠá¨á፠áľáááą á¨á á˛áą á¨áŽáą áľáŞáľ áá ááľá ááááŁá áĽá á áááľá°á áá âááá¨áŁááâ ᣠá¨áľáŽáá ááśá˝ áá°áŤáᢠ.
á á, áľáá˝ ááŤáá˝ áá, áá á á°ááłáłá áá á¨áááᎠá°ááŞáľ á ááá´áá¸á áĽáá áĽááá áĽá ᨠBitrix á°á áááá˝ áŽáąá á¨á áľá°áłáłáŞ ááá ááá¨á á¨áááąáľá áĽáľá á áááľáľá. áᎠáᎠáá á ááŤá ááᤠáŽáąá á¨ááľá°áŤá¨á á˝ááá á á°áᨠááááľ áááłáľ áá˝ááá˘
Helm áá áł
á Kubernetes áá áá°áá áŞáŤáá˝á áááááŁáľáŁ á á°ááᜠᨠHelm áĽá
á á áľá°áłáłáŞá áĽáá ááááá˘
áBitrix áááľáá˝á á áŠá áááľáľáŁ á¨áĽá á᪠áľáááľ á áľá°áłáłáŞ á°áá áŚááłáŹá áአá¨ááá áťááľ ááá˘
á°áŤá°áá ááááŁáᣠáŤáááᣠááŽá ááľáŁ á˘ááá¨áľáľáᣠá áááááśá˝á áŤáá áŤá áĽá á°ááááŽá˝á á¨áŠá áááľáľ ááľáĽáŽá˝ áá° ááľ áŤáľá°ááááá˘
áŽáąá á ááľáἠááľáĽ áĽáá¨ááťáá áĽá á¨ááá áááŁáłá á¨ááľáἠáĽááľáŹáłááá˘
áŁáአáá á áááľáá
$ helm upgrade --install project .helm --set image=registrygitlab.local/k8s/bitrix -f .helm/values.yaml --wait --timeout 300 --debug --tiller-namespace=production
Helm á á°á¨ááŞá á áľááŞáľ áá áľ á¨áá á˝áá á¨á°áá ᨠ"áĽáá¨á á¨áá˝" áááś ááááľá ááá áłáᢠá áľááᤠááľáĽ á ááááá áľ áá áĽáŠ áá "áŽáąá á ftp á áŠá áŤáľá°áŤáá ááááŤáąá ááŽáą áľááá°á" áá Kubernetes á áŤáľ-á°á áŤá°áááá, áĽá áŤáááá¨áĽ.
á á°áá
á á áĽá ᨠGitlab áĽá Gitlab CI á áľáááá˝ ááᣠáĽáá áááá :)
á ááľáἠááľáĽ áááŽáááľ áá¨ááť áŚáł á˛á°áĄáŁ Gitlab á¨á áŤáŁá˘á á á˛áľ áľáŞáľ á¨ááŤá°á፠á¨á§á᧠ááľáá ááááŤáá˘
á°á¨ááá˝:
- áááŁáł (á á˛áľ Docker ááľá ááááŁáľ)
- áá¨áŤ (áá¨áŤ)
- áá˝áłáľ (á¨áá¨áŤ á áŤáŁá˘á ááľáááľ)
- áá (áá° áśá¨á áááἠáĽáááŤáá)
- áá°ááŤáľ (áá°áá áŞáŤáá á ááá á áŠá áá° Kubernetes áĽáá°ááŤáá)á˘
ááŹáŁ ááá ááᣠáĽáá°ááĽá¨á!
á°á
áᣠááá áŤá áĽáŤááá˝á áá ááá˘
áłá˛áŤ áá á á°á¨ááá˘
á¨á´áááŤá áĽááłáĄ-
- áśá¨ááŤáááľ á˘áľáŞááľ;
- á˘áľáŞááľ áá° áŽáá´áááŽá˝ "ááááŁá", áĽáŤááłááłá¸á á áľááš á°ááŁáŤáľá áŤá¨áááá;
- á¨ááŤáŁáá˝ ááá á áᣠáááł á°á¨á°;
- á Kubernetes ááľáĽ Bitrix á á áááá á˝ááŠá ááł;
- ááá ᨠBitrix á°ááŁáŤáľ ááľáŤáłá¸áá ááĽááá (ááá áááľ ááťáá);
- áá° áŠá áááľáľ á áá°ááŤáľ áĽá á áľáááśá˝ ááŤá¨á áááś ááááľ áá á áá°ááá˘
á¨áááľ á ááááĄ-
- áľá á°áľá ááłááľ;
- á¨áŠá áááľáľ ááłáŞáŤáá˝ (ᨠGitlab CI áá ááá áá á°áľ, áĽáá¨á á¨áá˝ áá°ááŤáľ, ááá°);
- ááľáĽáŤá á¨ááá ááá˝ (á¨ááá áá á ááĽáł áá°á°áŁá¸á áĽáť á¨ááłá);
- á á ááľ áá á¨á° áááľ ááľáĽ á°á¨á᪠á áŤáŁá˘áá˝á (ááááľ, ááá¨áŤáá˝, ááá°) áááá á ááš áá.
ááá: hab.com