ืื™ืš ื”ื˜ืžืขื ื• ืืช SonarQube ื•ื”ื’ืฉื ื• ืืช ื”ืคื•ื˜ื ืฆื™ืืœ ื”ื’ื“ื•ืœ ืฉืœื•

ืื™ืš ื”ื˜ืžืขื ื• ืืช SonarQube ื•ื”ื’ืฉื ื• ืืช ื”ืคื•ื˜ื ืฆื™ืืœ ื”ื’ื“ื•ืœ ืฉืœื•

ื‘ืจืฆื•ื ื ื• ืœื—ืœื•ืง ืืช ื”ื ื™ืกื™ื•ืŸ ืฉืœื ื• ื‘ื”ื˜ืžืขืช ืคืœื˜ืคื•ืจืžื” ืœื ื™ืชื•ื— ื•ืžื“ื™ื“ื” ืžืชืžืฉื›ืช ืฉืœ ืื™ื›ื•ืช ืงื•ื“ SonarQube ื‘ืชื”ืœื™ื›ื™ื ื”ืงื™ื™ืžื™ื ืœืคื™ืชื•ื— ืžืขืจื›ืช ื”-DPO (ืชื•ืกืคืช ืœืžืขืจื›ืช ื—ืฉื‘ื•ื ืื•ืช ื”ืคื™ืงื“ื•ืŸ ื•ื”ืกืœื™ืงื” ืฉืœ Alameda) ืฉืœ ื”ืžืื’ืจ ื”ืœืื•ืžื™ ืœื”ืชื™ื™ืฉื‘ื•ืช.

ืžืื’ืจ ื”ืชื™ื™ืฉื‘ื•ืช ื”ืœืื•ืžื™ (ืงื‘ื•ืฆืช ื—ื‘ืจื•ืช ื”ื‘ื•ืจืกื” ืฉืœ ืžื•ืกืงื‘ื”) ื”ื™ื ืื—ืช ืžื—ื‘ืจื•ืช ื”ืชืฉืชื™ืช ื”ืคื™ื ื ืกื™ื•ืช ื”ืžืจื›ื–ื™ื•ืช ื”ืžืื—ืกื ื•ืช ื•ืžืชืขื“ื•ืช ื ื™ื™ืจื•ืช ืขืจืš ืฉืœ ืžื ืคื™ืงื™ื ืจื•ืกื™ื ื•ื–ืจื™ื ื‘ืฉื•ื•ื™ ืฉืœ ื™ื•ืชืจ ืž-50 ื˜ืจื™ืœื™ื•ืŸ ืจื•ื‘ืœ. ื ืคื— ื”ืคืขื•ืœื•ืช ื”ื”ื•ืœืš ื•ื’ื•ื‘ืจ ืฉืžื‘ืฆืขืช ื”ืžืขืจื›ืช, ื›ืžื• ื’ื ื”ื’ื™ื“ื•ืœ ื”ืžืชืžืฉืš ื‘ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช, ืžื—ื™ื™ื‘ื™ื ืฉืžื™ืจื” ืขืœ ืื™ื›ื•ืช ื’ื‘ื•ื”ื” ืฉืœ ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ ื”ืžืขืจื›ื•ืช. ืื—ื“ ื”ื›ืœื™ื ืœื”ืฉื’ืช ืžื˜ืจื” ื–ื• ื”ื•ื ืžื ืชื— ื”ืกื˜ื˜ื™ SonarQube. ื‘ืžืืžืจ ื–ื”, ืื ื• ืžืชืืจื™ื ืืช ื”ื—ื•ื•ื™ื” ื”ืžื•ืฆืœื—ืช ืฉืœ ื™ื™ืฉื•ื ื—ืœืง ืฉืœ ื”ืžื ืชื— ื”ืกื˜ื˜ื™ SonarQube ื‘ืชื”ืœื™ื›ื™ ื”ืคื™ืชื•ื— ื”ืงื™ื™ืžื™ื ืฉืœ ื”ืžื—ืœืงื” ืฉืœื ื•.

ื‘ืงืฆืจื” ืขืœ ื”ืžื—ืœืงื”

ื”ื›ืฉื™ืจื•ืช ืฉืœื ื• ื›ื•ืœืœืช ืืช ื”ืžื•ื“ื•ืœื™ื ื”ื‘ืื™ื: ืชืฉืœื•ืžื™ื ืœืœืงื•ื—ื•ืช NSD, ื ื™ื”ื•ืœ ืžืกืžื›ื™ื ืืœืงื˜ืจื•ื ื™ (EDF), ืขื™ื‘ื•ื“ ื”ื•ื“ืขื•ืช ืžืื’ืจ ืกื—ืจ (ืจื™ืฉื•ื ืขืกืงืื•ืช ืžื—ื•ืฅ ืœื‘ื•ืจืกื”), ืขืจื•ืฆื™ ืื™ื ื˜ืจืืงืฆื™ื” ืืœืงื˜ืจื•ื ื™ื™ื ื‘ื™ืŸ ืœืงื•ื—ื•ืช ืœ-NSD, ื•ืขื•ื“ ื•ืขื•ื“. ื‘ืื•ืคืŸ ื›ืœืœื™, ืฉื›ื‘ื” ื’ื“ื•ืœื” ืฉืœ ืขื‘ื•ื“ื” ื‘ืฆื“ ื”ื˜ื›ื ื™ ืฉืœ ื”ืชืคืขื•ืœ. ืื ื• ืขื•ื‘ื“ื™ื ืขืœ ื‘ืกื™ืก ื™ื™ืฉื•ืžื™ื. ื™ื™ืฉื•ืžื™ื ืฉืœ ืžืกืคืจื™ื ืžืขื•ื‘ื“ื™ื ืขืœ ื™ื“ื™ ืื ืœื™ืกื˜ื™ื: ื”ื ืื•ืกืคื™ื ืืช ื“ืจื™ืฉื•ืช ื”ืœืงื•ื—ื•ืช ื•ืžืฆื™ื’ื™ื ืœื ื• ืืช ื”ื—ื–ื•ืŸ ืฉืœื”ื ืœื’ื‘ื™ ืื™ืš ื–ื” ืฆืจื™ืš ืœื”ืฉืชืœื‘ ื‘ืชื•ื›ื ื™ืช. ื‘ื”ืžืฉืš, ื”ืกื›ื™ืžื” ื”ืกื˜ื ื“ืจื˜ื™ืช: ืคื™ืชื•ื— ืงื•ื“ - ื‘ื“ื™ืงื” - ืคืขื•ืœืช ื ื™ืกื™ื•ืŸ - ืžืกื™ืจืช ื”ืงื•ื“ ืœืžืขื’ืœ ื”ื™ืฆืจื ื™ ืœืœืงื•ื— ื”ื™ืฉื™ืจ.

ืœืžื” SonarQube?

ื–ื”ื• ื”ื ื™ืกื™ื•ืŸ ื”ืจืืฉื•ืŸ ืฉืœ ื”ืžื—ืœืงื” ืฉืœื ื• ื‘ื”ื˜ืžืขืช ืคืœื˜ืคื•ืจืžื” ืœื‘ืงืจืช ืื™ื›ื•ืช ืงื•ื“ - ื‘ืขื‘ืจ ืขืฉื™ื ื• ื–ืืช ื‘ืื•ืคืŸ ื™ื“ื ื™, ืจืง ืกืงื™ืจืช ืงื•ื“. ืื‘ืœ ื ืคื— ื”ืขื‘ื•ื“ื” ื”ื”ื•ืœืš ื•ื’ื“ืœ ื“ื•ืจืฉ ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืชื”ืœื™ืš ื–ื”. ื‘ื ื•ืกืฃ, ื™ืฉื ื ื’ื ืขื•ื‘ื“ื™ื ื—ืกืจื™ ื ื™ืกื™ื•ืŸ ื‘ืฆื•ื•ืช ืฉืœื ืœื’ืžืจื™ ืžื›ื™ืจื™ื ืืช ืชืงื ื•ืช ื”ืคื™ืชื•ื— ื”ืคื ื™ืžื™ื•ืช ื•ื ื•ื˜ื™ื ืœื˜ืขื•ืช ื™ื•ืชืจ. ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ืื™ื›ื•ืช ื”ืงื•ื“, ื”ื•ื—ืœื˜ ืœื™ื™ืฉื ืžื ืชื— ืกื˜ื˜ื™. ืžื›ื™ื•ื•ืŸ ืฉื›ื‘ืจ ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-SonarQube ื‘ื›ืžื” ืžืขืจื›ื•ืช NSD, ืœื ืœืงื— ื”ืจื‘ื” ื–ืžืŸ ืœื‘ื—ื•ืจ. ื‘ืขื‘ืจ, ืขืžื™ืชื™ื ืžื—ื˜ื™ื‘ื•ืช ืื—ืจื•ืช ื”ืฉืชืžืฉื• ื‘ื• ื›ื“ื™ ืœื ืชื— ืืช ืงื•ื“ ื”ืžื™ืงืจื•-ืฉื™ืจื•ืชื™ื ื‘ืžืขืจื›ืช Alameda (ืžืขืจื›ืช ื—ืฉื‘ื•ื ืื•ืช ื”ืžืคืงื™ื“ื™ื ื•ื”ืกืœื™ืงื” ืฉืœ NSD), ื‘-CFT (ืžืขืจื›ืช ืžื™ื“ืข ืœื—ืฉื‘ื•ื ืื•ืช, ืื™ื–ื•ืŸ, ื”ื›ื ืช ื“ื™ื•ื•ื— ื—ื•ื‘ื” ื•ืคื ื™ืžื™), ื‘ื—ืœืง ืื—ืจ. ืžืขืจื›ื•ืช . ืœืฆื•ืจืš ื ื™ืกื•ื™, ื”ื—ืœื˜ื ื• ืœื”ืชื—ื™ืœ ืขื ื”ื’ืจืกื” ื”ื—ื™ื ืžื™ืช ืฉืœ SonarQube. ืื– ื‘ื•ืื• ื ืขื‘ื•ืจ ืœืžืงืจื” ืฉืœื ื•.

ืชื”ืœื™ืš ื”ื”ื˜ืžืขื”

ื™ืฉ ืœื ื•:

  • ื”ืจื›ื‘ื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ื”ืžืขืจื›ืช ื‘-TeamCity;
  • ืœื”ื’ื“ื™ืจ ืืช ืชื”ืœื™ืš ื”ืขืœืืช ื”ืงื•ื“ ื‘ืืžืฆืขื•ืช MergeRequest ืžืกื ื™ืฃ ืคื™ืฆ'ืจื™ื ืœืกื ื™ืฃ ื”ืžืืกื˜ืจ ื‘- GitLab (ืชื”ืœื™ืš ืคื™ืชื•ื— ืœืคื™ GitHub Flow);
  • SonarQube ืžื•ื’ื“ืจ ืœื ืชื— ืืช ื”ืงื•ื“ ืขื‘ื•ืจ ืžืขืจื›ืช DPO ืœืคื™ ืœื•ื— ื–ืžื ื™ื.

ื”ืžื˜ืจื” ืฉืœื ื•: ื™ื™ืฉื•ื ื ื™ืชื•ื— ืงื•ื“ ืื•ื˜ื•ืžื˜ื™ ื‘ืชื”ืœื™ื›ื™ CI/CD ืฉืœ AVE.

ืฆืจื™ืš ืœื”ืชืื™ื ืื™ืฉื™ืช: ืชื”ืœื™ืš ื‘ื“ื™ืงื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ื”ืงื•ื“ ืขืœ ื™ื“ื™ ืžื ืชื— ืกื˜ื˜ื™ ืขื ื›ืœ MergeRequest ืœืกื ื™ืฃ ื”ืจืืฉื™.

ื”ึธื”ึตืŸ. ืชืžื•ื ืช ื”ื™ืขื“ ื”ื™ื ื›ื“ืœืงืžืŸ: ื‘ืจื’ืข ืฉื”ืžืคืชื— ืžืขืœื” ืฉื™ื ื•ื™ื™ื ืœืกื ื™ืฃ ื”ืคื™ืฆ'ืจื™ื, ืžืชื—ื™ืœื” ื‘ื“ื™ืงื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืฉื’ื™ืื•ืช ื—ื“ืฉื•ืช ื‘ืงื•ื“. ืื ืื™ืŸ ืฉื’ื™ืื•ืช, ืื–ื™ ืžื•ืชืจ ืœืงื‘ืœ ืืช ื”ืฉื™ื ื•ื™ื™ื, ืื—ืจืช ื™ืฉ ืœืชืงืŸ ืืช ื”ืฉื’ื™ืื•ืช. ื›ื‘ืจ ื‘ืฉืœื‘ ื”ืจืืฉื•ื ื™ ื”ืฆืœื—ื ื• ืœื–ื”ื•ืช ืžืกืคืจ ืžืกื•ื™ื ืฉืœ ืฉื’ื™ืื•ืช ื‘ืงื•ื“. ืœืžืขืจื›ืช ื”ื’ื“ืจื•ืช ื’ืžื™ืฉื•ืช ืžืื•ื“: ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืื•ืชื” ื‘ืฆื•ืจื” ื›ื–ื• ืฉื”ื™ื ืชืขื‘ื•ื“ ืขื‘ื•ืจ ืžืฉื™ืžื•ืช ืกืคืฆื™ืคื™ื•ืช ืฉืœ ืžืคืชื—ื™ื, ืขื‘ื•ืจ ื›ืœ ืžืขืจื›ืช ื•ืกื’ื ื•ืŸ ืชื›ื ื•ืช.

ื”ื’ื“ืจืช QualityGate ื‘- SonarQube

ื ื™ืชื•ื— QualityGate ื”ื•ื ื“ื‘ืจ ืฉืื ื• ืงื•ืจืื™ื ื‘ืžืขื™ื™ื ืฉืœ ื”ืื™ื ื˜ืจื ื˜. ื‘ืชื—ื™ืœื” ื”ืฉืชืžืฉื ื• ื‘ื’ื™ืฉื” ืื—ืจืช, ืžื•ืจื›ื‘ืช ื™ื•ืชืจ ื•ืื™ื›ืฉื”ื• ืœื ืžืžืฉ ื ื›ื•ื ื”. ืจืืฉื™ืช, ื”ืจืฆื ื• ืืช ื”ืกืจื™ืงื” ื“ืจืš SonarQube ืคืขืžื™ื™ื: ืกืจืงื ื• ืืช ืขื ืฃ ื”ืคื™ืฆ'ืจ ื•ืืช ื”ืขื ืฃ ืฉื‘ื• ื”ืชื›ื•ื•ื ื• ืœืžื–ื’ ืืช ืขื ืฃ ื”ืคื™ืฆ'ืจื™ื, ื•ืœืื—ืจ ืžื›ืŸ ื”ืฉื•ื•ื™ื ื• ืืช ืžืกืคืจ ื”ืฉื’ื™ืื•ืช. ืฉื™ื˜ื” ื–ื• ืœื ื”ื™ื™ืชื” ื™ืฆื™ื‘ื” ื•ืœื ืชืžื™ื“ ื ืชื ื” ืืช ื”ืชื•ืฆืื” ื”ื ื›ื•ื ื”. ื•ืื– ืœืžื“ื ื• ืฉื‘ืžืงื•ื ืœื”ืคืขื™ืœ ืืช SonarQube ืคืขืžื™ื™ื, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ื”ื’ื‘ืœื” ืขืœ ืžืกืคืจ ื”ืฉื’ื™ืื•ืช ืฉื ืขืฉื• (QualityGate) ื•ืœื ืชื— ืจืง ืืช ื”ืกื ื™ืฃ ืฉืืชื” ืžืขืœื” ื•ืžืฉื•ื•ื”.

ืื™ืš ื”ื˜ืžืขื ื• ืืช SonarQube ื•ื”ื’ืฉื ื• ืืช ื”ืคื•ื˜ื ืฆื™ืืœ ื”ื’ื“ื•ืœ ืฉืœื•

ืœืขืช ืขืชื”, ืื ื• ืขื“ื™ื™ืŸ ืžืฉืชืžืฉื™ื ื‘ื‘ื“ื™ืงืช ืงื•ื“ ืคืจื™ืžื™ื˜ื™ื‘ื™ืช ืœืžื“ื™. ื™ืฉ ืœืฆื™ื™ืŸ ืฉ- SonarQube ืื™ื ื• ืชื•ืื ืœืฉืคื•ืช ืชื›ื ื•ืช ืžืกื•ื™ืžื•ืช, ื›ื•ืœืœ ื“ืœืคื™. ื›ืจื’ืข, ืขื‘ื•ืจ ื”ืžืขืจื›ืช ืฉืœื ื•, ืื ื• ืžื ืชื—ื™ื ืจืง ืงื•ื“ PLSql.

ื–ื” ืขื•ื‘ื“ ื›ื›ื”:

  • ืื ื• ืžื ืชื—ื™ื ืจืง ืงื•ื“ PL/SQL ืขื‘ื•ืจ ื”ืคืจื•ื™ืงื˜ ืฉืœื ื•.
  • QualityGate ืžื•ื’ื“ืจ ื‘- SonarQube ื›ืš ืฉืžืกืคืจ ื”ืฉื’ื™ืื•ืช ืœื ื™ื’ื“ืœ ืขื ื”ื‘ื™ืฆื•ืข.
  • ืžืกืคืจ ื”ืฉื’ื™ืื•ืช ื‘ื”ืคืขืœื” ื”ืจืืฉื•ื ื” ื”ื™ื” 229. ืื ื™ืฉ ืฉื’ื™ืื•ืช ื ื•ืกืคื•ืช ื‘ืžื”ืœืš ื”-commit, ืื– ืžื™ื–ื•ื’ ืื™ื ื• ืžื•ืชืจ.
  • ื‘ื ื•ืกืฃ, ื‘ื›ืคื•ืฃ ืœืชื™ืงื•ืŸ ืฉื’ื™ืื•ืช, ื ื™ืชืŸ ื™ื”ื™ื” ืœื”ื’ื“ื™ืจ ืžื—ื“ืฉ ืืช QualityGate.
  • ื ื™ืชืŸ ื’ื ืœื”ื•ืกื™ืฃ ืคืจื™ื˜ื™ื ื—ื“ืฉื™ื ืœื ื™ืชื•ื—, ืœืžืฉืœ, ื›ื™ืกื•ื™ ืงื•ื“ ืขื ื‘ื“ื™ืงื•ืช ื•ื›ื•'.

ืชื•ื›ื ื™ืช ืขื‘ื•ื“ื”:

ืื™ืš ื”ื˜ืžืขื ื• ืืช SonarQube ื•ื”ื’ืฉื ื• ืืช ื”ืคื•ื˜ื ืฆื™ืืœ ื”ื’ื“ื•ืœ ืฉืœื•

ื‘ื”ืขืจื•ืช ืฉืœ ื”ืกืงืจื™ืคื˜, ื ื™ืชืŸ ืœืจืื•ืช ืฉืžืกืคืจ ื”ืฉื’ื™ืื•ืช ื‘ืขื ืฃ ื”ืคื™ืฆ'ืจื™ื ืœื ื’ื“ืœ. ืื– ื”ื›ืœ ื‘ืกื“ืจ.

ืื™ืš ื”ื˜ืžืขื ื• ืืช SonarQube ื•ื”ื’ืฉื ื• ืืช ื”ืคื•ื˜ื ืฆื™ืืœ ื”ื’ื“ื•ืœ ืฉืœื•

ื›ืคืชื•ืจ ื”ืžื™ื–ื•ื’ ื”ื•ืคืš ืœื–ืžื™ืŸ.

ืื™ืš ื”ื˜ืžืขื ื• ืืช SonarQube ื•ื”ื’ืฉื ื• ืืช ื”ืคื•ื˜ื ืฆื™ืืœ ื”ื’ื“ื•ืœ ืฉืœื•

ื‘ื”ืขืจื•ืช ืฉืœ ื”ืกืงืจื™ืคื˜, ื ื™ืชืŸ ืœืจืื•ืช ืฉืžืกืคืจ ื”ืฉื’ื™ืื•ืช ื‘ืขื ืฃ ื”ืคื™ืฆ'ืจื™ื ื”ืคืš ืœื™ื•ืชืจ ืžื”ืžื•ืชืจ. ืื– ื”ื›ืœ ื’ืจื•ืข.

ืื™ืš ื”ื˜ืžืขื ื• ืืช SonarQube ื•ื”ื’ืฉื ื• ืืช ื”ืคื•ื˜ื ืฆื™ืืœ ื”ื’ื“ื•ืœ ืฉืœื•

ื›ืคืชื•ืจ ื”ืžื™ื–ื•ื’ ืื“ื•ื. ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ืื™ืŸ ืžื ื™ืขื” ืœื”ืขืœื•ืช ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื“ ืฉื’ื•ื™, ืืš ื”ื“ื‘ืจ ื ืขืฉื” ืœืคื™ ืฉื™ืงื•ืœ ื“ืขืชื• ืฉืœ ื”ืžืคืชื— ื”ืื—ืจืื™. ื‘ืขืชื™ื“ ืชื•ื›ืœ ืœืžื ื•ืข ื”ืชื—ื™ื™ื‘ื•ื™ื•ืช ื›ืืœื” ืœืกื ื™ืฃ ื”ืจืืฉื™.

ืื™ืš ื”ื˜ืžืขื ื• ืืช SonarQube ื•ื”ื’ืฉื ื• ืืช ื”ืคื•ื˜ื ืฆื™ืืœ ื”ื’ื“ื•ืœ ืฉืœื•

ื”ืชืžื•ื“ื“ื•ืช ืขืฆืžื™ืช ืขื ื‘ืื’ื™ื

ืœืื—ืจ ืžื›ืŸ, ืขืœื™ืš ืœื‘ื“ื•ืง ืืช ื›ืœ ื”ืฉื’ื™ืื•ืช ืฉื–ื•ื”ื• ืขืœ ื™ื“ื™ ื”ืžืขืจื›ืช, ืžื›ื™ื•ื•ืŸ ืฉ- SonarQube ืžื ืชื— ื‘ื”ืชืื ืœืกื˜ื ื“ืจื˜ื™ื ื”ืžื—ืžื™ืจื™ื ืฉืœื”. ื™ืชื›ืŸ ืฉืžื” ืฉื”ื•ื ืžื—ืฉื™ื‘ ื›ืฉื’ื™ืื” ืœื ืžืžืฉ ื‘ืงื•ื“ ืฉืœื ื•. ืœื›ืŸ ืฆืจื™ืš ืœื‘ื“ื•ืง ื•ืœืฉื™ื ืœื‘ ื”ืื ื–ื• ื‘ืืžืช ื˜ืขื•ืช, ืื• ืฉืื™ืŸ ืฆื•ืจืš ืœืขืจื•ืš ื‘ืชื ืื™ื ืฉืœื ื•. ืœืคื™ื›ืš, ืื ื• ืžืฆืžืฆืžื™ื ืืช ืžืกืคืจ ื”ืฉื’ื™ืื•ืช. ืขื ื”ื–ืžืŸ, ื”ืžืขืจื›ืช ืชืœืžื“ ืœื”ื‘ื™ืŸ ืืช ื”ื ื™ื•ืื ืกื™ื ื”ืœืœื•.

ืœืžื” ื”ื’ืขื ื•

ื”ืžื˜ืจื” ืฉืœื ื• ื”ื™ื™ืชื” ืœื”ื‘ื™ืŸ ื”ืื ื›ื“ืื™ ื‘ืžืงืจื” ืฉืœื ื• ืœื”ืขื‘ื™ืจ ืื™ืžื•ืช ืงื•ื“ ืœืื•ื˜ื•ืžืฆื™ื”. ื•ื”ืชื•ืฆืื” ืขืžื“ื” ื‘ืฆื™ืคื™ื•ืช. SonarQube ืžืืคืฉืจ ืœื ื• ืœืขื‘ื•ื“ ืขื ื”ืฉืคื•ืช ืฉืื ื• ืฆืจื™ื›ื™ื, ืžื‘ืฆืข ื ื™ืชื•ื— ืžื•ื›ืฉืจ ืœืžื“ื™, ื•ื™ืฉ ืœื• ืคื•ื˜ื ืฆื™ืืœ ืœืœืžื•ื“ ืžื˜ื™ืคื™ื ืœืžืคืชื—ื™ื. ื‘ืื•ืคืŸ ื›ืœืœื™, ืื ื• ืžืจื•ืฆื™ื ืžื”ื ื™ืกื™ื•ืŸ ื”ืจืืฉื•ืŸ ืฉืœื ื• ืขื SonarQube ื•ืžืชื›ื ื ื™ื ืœื”ืชืคืชื— ืขื•ื“ ื‘ื›ื™ื•ื•ืŸ ื–ื”. ืื ื• ืžืฆืคื™ื ืฉื‘ืขืชื™ื“ ื ื•ื›ืœ ืœื—ืกื•ืš ื™ื•ืชืจ ื–ืžืŸ ื•ืžืืžืฅ ื‘ื‘ื“ื™ืงืช ืงื•ื“ ื•ืœืฉืคืจ ืื•ืชื• ืขืœ ื™ื“ื™ ื‘ื™ื˜ื•ืœ ื”ื’ื•ืจื ื”ืื ื•ืฉื™. ืื•ืœื™ ืชื•ืš ื›ื“ื™ ื ื’ืœื” ืืช ื”ื—ืกืจื•ื ื•ืช ืฉืœ ื”ืคืœื˜ืคื•ืจืžื”, ืื• ืœื”ื™ืคืš, ื ื•ื•ื“ื ืฉื•ื‘ ืฉืžื“ื•ื‘ืจ ื‘ื“ื‘ืจ ืžื’ื ื™ื‘ ืขื ืคื•ื˜ื ืฆื™ืืœ ื’ื“ื•ืœ.

ื‘ืžืืžืจ ืกืงื™ืจื” ื–ื”, ื“ื™ื‘ืจื ื• ืขืœ ื”ื”ื™ื›ืจื•ืช ืฉืœื ื• ืขื ืžื ืชื— ื”ืกื˜ื˜ื™ SonarQube. ืื ื™ืฉ ืœืš ืฉืืœื•ืช, ืื ื ื›ืชื•ื‘ ื‘ืชื’ื•ื‘ื•ืช. ืื ืืชื” ืžืขื•ื ื™ื™ืŸ ื‘ื ื•ืฉื ื–ื”, ื‘ืคืจืกื•ื ื”ื—ื“ืฉ ื ืชืืจ ื‘ื™ืชืจ ืคื™ืจื•ื˜ ื›ื™ืฆื“ ืœื”ื’ื“ื™ืจ ื”ื›ืœ ื ื›ื•ืŸ ื•ืœื›ืชื•ื‘ ืงื•ื“ ื›ื“ื™ ืœื‘ืฆืข ื‘ื“ื™ืงื” ื›ื–ื•.

ืžื—ื‘ืจ ื”ื˜ืงืกื˜: ืืชื ื™ื”

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”