Pehea mākou i hoʻokō ai iā SonarQube a ʻike i kona mana nui

Pehea mākou i hoʻokō ai iā SonarQube a ʻike i kona mana nui

Makemake mākou e kaʻana like i kā mākou ʻike no ka hoʻokō ʻana i kahi kahua no ka nānā ʻana a me ke ana mau ʻana i ka maikaʻi o ke code SonarQube i nā kaʻina hana e kū nei no ka hoʻomohala ʻana i ka ʻōnaehana DPO (kahi hoʻohui i ka ʻōnaehana waihona kālā Alameda a hoʻomaʻemaʻe) o ka National Settlement Depository.

ʻO ka National Settlement Depository (Moscow Exchange Group of Companies) kekahi o nā ʻoihana waiwai waiwai nui e mālama a hoʻopaʻa i nā palekana o nā mea hoʻopuka Lūkini a me nā haole i ʻoi aku ma mua o 50 trillion rubles. ʻO ka ulu nui o nā hana i hana ʻia e ka ʻōnaehana, a me ka hoʻonui mau ʻana i ka hana, pono e mālama i ke ʻano kiʻekiʻe o ke kumu kumu o nā ʻōnaehana. ʻO kekahi o nā mea hana e hoʻokō ai i kēia pahuhopu ʻo ia ka SonarQube static analyzer. Ma kēia ʻatikala, wehewehe mākou i ka ʻike kūleʻa o ka hoʻokō pono ʻana i ka SonarQube static analyzer i nā kaʻina hana hoʻomohala o kā mākou ʻoihana.

ʻO ka pōkole e pili ana i ka ʻoihana

Loaʻa i kā mākou mākaukau nā modula aʻe: nā uku i nā mea kūʻai aku NSD, ka hoʻokele palapala uila (EDF), ka hoʻoponopono ʻana i nā memo waihona kālepa (ke kākau inoa ʻana o nā hana kūʻai aku), nā kaila pili uila ma waena o nā mea kūʻai aku a me NSD, a ʻoi aku ka nui. Ma keʻano laulā, kahi papa nui o ka hana ma kaʻaoʻaoʻenehana o nā hana. Hana mākou ma ke kumu o nā noi. Hoʻoponopono ʻia nā noi o nā mea haʻi ʻōlelo e nā mea loiloi: hōʻiliʻili lākou i nā koi o ka mea kūʻai aku a hōʻike iā mākou i kā lākou ʻike i ke ʻano o ke komo ʻana i ka papahana. Eia kekahi, ʻo ka hoʻolālā maʻamau: hoʻomohala code - hoʻāʻo - hana hoʻāʻo - hāʻawi i ke code i ka huakaʻi huahana i ka mea kūʻai pololei.

No ke aha ʻo SonarQube?

ʻO kēia ka ʻike mua o kā mākou ʻoihana i ka hoʻokō ʻana i kahi kahua no ka mālama ʻana i ka maikaʻi code - ma mua mākou i hana me ka lima, ʻo ka loiloi code wale nō. Akā ʻo ka ulu nui o ka hana e pono ai ka automation o kēia kaʻina hana. Eia kekahi, aia kekahi mau limahana ʻike ʻole i ka hui i ʻike ʻole i nā hoʻoponopono hoʻomohala kūloko a makemake e hana hewa hou aʻe. No ka mālama ʻana i ka maikaʻi o ke code, ua hoʻoholo ʻia e hoʻokō i kahi mea hoʻoponopono static. No ka mea ua hoʻohana ʻia ʻo SonarQube i kekahi mau ʻōnaehana NSD, ʻaʻole i liʻuliʻu ke koho. Ma mua, ua hoʻohana nā hoa hana mai nā māhele ʻē aʻe e kālailai i ke code o nā microservices i ka ʻōnaehana Alameda (nā waihona waihona kālā a me ka hoʻomaʻemaʻe ʻana o ka NSD), ma ka CFT (pūnaewele ʻike no ka helu helu, ke kaulike, ka hoʻomākaukau ʻana i ka hōʻike pono a me ka hōʻike kūloko), ma kekahi mau mea ʻē aʻe. ʻōnaehana . No ka hoʻokolohua, ua hoʻoholo mākou e hoʻomaka me ka mana manuahi o SonarQube. No laila e neʻe kāua i kā mākou hihia.

Kaʻina hoʻokō

Aia iā mākou:

  • hui 'akomi o ka pūnaewele ma TeamCity;
  • hoʻonohonoho i ke kaʻina hana o ka hoʻouka ʻana i ke code ma o MergeRequest mai kahi lālā hiʻohiʻona i ka lālā kumu ma GitLab (ka hana hoʻomohala e like me GitHub Flow);
  • Hoʻonohonoho ʻia ʻo SonarQube e nānā i ke code no ka ʻōnaehana DPO ma ka papa manawa.

ʻO kā mākou pahuhopu: hoʻokō i ka hoʻopaʻa ʻana i nā code ma nā kaʻina CI/CD o AVE.

Pono e hoʻopilikino: ke kaʻina hana o ka nānā ʻana i ke code e kahi mea hoʻoponopono static me kēlā me kēia MergeRequest i ka lālā nui.

ʻO kēlā mau. ʻO ke kiʻi i manaʻo ʻia penei: i ka wā e hoʻouka ai ka mea hoʻomohala i nā loli i ka lālā hiʻohiʻona, hoʻomaka ka nānā ʻakomi no nā hewa hou i ke code. Inā ʻaʻohe hewa, a laila ʻae ʻia nā hoʻololi e ʻae ʻia, i ʻole e hoʻoponopono ʻia nā hewa. Aia i ka pae mua, ua hiki iā mākou ke ʻike i kekahi helu o nā hewa i ke code. Loaʻa i ka ʻōnaehana nā hoʻonohonoho maʻalahi: hiki ke hoʻonohonoho ʻia i ke ʻano e hana ai no nā hana kikoʻī o nā mea hoʻomohala, no kēlā me kēia ʻōnaehana a me ke ʻano papahana.

Ke hoʻonohonoho nei i ka QualityGate ma SonarQube

ʻO ka loiloi QualityGate kahi mea a mākou e heluhelu ai i loko o ka ʻōpū o ka Pūnaewele. I ka hoʻomaka ʻana, ua hoʻohana mākou i kahi ala ʻē aʻe, ʻoi aku ka paʻakikī a, i kekahi mau ʻano, ʻaʻole pololei loa. ʻO ka mua, holo mākou i ka scan ma o SonarQube ʻelua: nānā mākou i ka lālā hiʻohiʻona a me ka lālā kahi a mākou e hoʻohui ai i ka lālā hiʻohiʻona, a laila hoʻohālikelike mākou i ka helu o nā hewa. ʻAʻole paʻa kēia ʻano hana a ʻaʻole i hāʻawi mau i ka hopena kūpono. A laila ua aʻo mākou ma kahi o ka holo ʻana iā SonarQube ʻelua, hiki iā ʻoe ke hoʻonohonoho i ka palena o ka helu o nā hewa i hana ʻia (QualityGate) a nānā wale i ka lālā āu e hoʻouka ai a hoʻohālikelike.

Pehea mākou i hoʻokō ai iā SonarQube a ʻike i kona mana nui

I kēia manawa, hoʻohana mau mākou i kahi loiloi code primitive. Pono e hoʻomaopopo ʻia ʻaʻole kūpono ʻo SonarQube me kekahi mau ʻōlelo papahana, me Delphi. I kēia manawa, no kā mākou ʻōnaehana, kā mākou loiloi wale i ka code PLSql.

Ke hana nei e like me kēia:

  • Hoʻopili wale mākou i ka code PL/SQL no kā mākou papahana.
  • Hoʻonohonoho ʻia ʻo QualityGate ma SonarQube i ʻole e hoʻonui ka nui o nā hewa me ka hana.
  • ʻO ka nui o nā hewa ma ka holo mua he 229. Inā nui nā hewa i ka wā o ka hana, ʻaʻole ʻae ʻia ka hui ʻana.
  • Eia hou, ma muli o ka hoʻoponopono ʻana i nā hewa, hiki ke hoʻonohonoho hou i ka QualityGate.
  • Hiki iā ʻoe ke hoʻohui i nā mea hou no ka nānā ʻana, no ka laʻana, ka uhi code me nā hoʻokolohua, etc.

Papahana o ka hana:

Pehea mākou i hoʻokō ai iā SonarQube a ʻike i kona mana nui

Ma nā ʻōlelo o ka palapala, hiki iā ʻoe ke ʻike ʻaʻole i hoʻonui ʻia ka nui o nā hewa i ka lālā hiʻohiʻona. No laila ua maikaʻi nā mea a pau.

Pehea mākou i hoʻokō ai iā SonarQube a ʻike i kona mana nui

Loaʻa ka pihi Hoʻohui.

Pehea mākou i hoʻokō ai iā SonarQube a ʻike i kona mana nui

Ma nā manaʻo o ka palapala, hiki iā ʻoe ke ʻike i ka nui o nā hewa i ka lālā hiʻohiʻona ua lilo i ʻoi aku ma mua o ka ʻae ʻia. No laila INO nā mea a pau.

Pehea mākou i hoʻokō ai iā SonarQube a ʻike i kona mana nui

He ʻulaʻula ke pihi Hoʻohui. I kēia manawa, ʻaʻohe pāpā i ka hoʻouka ʻana i nā hoʻololi i ke code hewa, akā hana ʻia kēia ma ka manaʻo o ka mea hoʻomohala kuleana. I ka wā e hiki mai ana, hiki iā ʻoe ke pale i kēlā mau hana mai ka hana ʻana i ka lālā nui.

Pehea mākou i hoʻokō ai iā SonarQube a ʻike i kona mana nui

Hana pono iā ʻoe iho me nā pōpoki

A laila, pono ʻoe e nānā i nā hewa a pau i ʻike ʻia e ka ʻōnaehana, no ka mea, nānā ʻo SonarQube e like me kāna mau kūlana koʻikoʻi. ʻO ka mea āna i manaʻo ai he hewa ʻaʻole paha ia i loko o kā mākou code. No laila, pono ʻoe e nānā a nānā inā he hewa maoli kēia, a inā ʻaʻole pono e hoʻoponopono i kā mākou kūlana. No laila, hoʻemi mākou i ka nui o nā hewa. Ma ka manawa lōʻihi, e aʻo ka ʻōnaehana e hoʻomaopopo i kēia mau nuances.

He aha kā mākou i hele mai ai

ʻO kā mākou pahuhopu ka hoʻomaopopo ʻana inā he mea pono i kā mākou hihia ke hoʻololi i ka hōʻoia code i ka automation. A ua kūpono ka hopena i ka manaʻo. Hāʻawi ʻo SonarQube iā mākou e hana me nā ʻōlelo a mākou e pono ai, hana i ka loiloi kūpono kūpono, a hiki ke aʻo mai nā ʻōlelo aʻoaʻo. Ma ka laulā, hauʻoli mākou i kā mākou ʻike mua me SonarQube a hoʻolālā e hoʻomohala hou i kēia ala. Manaʻo mākou i ka wā e hiki mai ana e hiki iā mākou ke mālama i ka manawa a me ka hoʻoikaika ʻana i ka loiloi code a hoʻomaikaʻi ʻia ma ka hoʻopau ʻana i ke kumu kanaka. Malia paha ma ke kaʻina hana e ʻike mākou i nā hemahema o ka paepae, a i ʻole, e hōʻoia hou mākou he mea ʻoluʻolu kēia me ka mana nui.

Ma kēia ʻatikala ʻike, ua kamaʻilio mākou e pili ana i kā mākou kamaʻāina me ka SonarQube static analyzer. Inā he mau nīnau kāu, e kākau ma nā manaʻo. Inā makemake ʻoe i kēia kumuhana, ma ka puke hou e wehewehe mākou i nā kikoʻī hou aʻe pehea e hoʻonohonoho pono ai i nā mea āpau a kākau i ke code e hana i kēlā ʻano loiloi.

Mea kākau kikokikona: atanya

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka