ααΎαα ααα ααααααααααα·αααααααααααΎααααα»αααΆαα’αα»αααααααα·ααΆ SonarQube αααααΆααααΆααα·ααΆααααα αα·αααΆαααΆααααααα»αααΆαααΌααα αααα»αααααΎαααΆαα’αα·αααααααααΆαααααΆαααααααααααα DPO (ααααααααΎααααααααααααΈαααααΎ Alameda αα·αααααααααααΈ) ααααααααααα½αααααΆααααΌααΆααααΆαα·α
ααααααααΆααααααΆααααΌααΆααααΆαα· (αααα»ααααα»αα αα»α Moscow Exchange) ααΊααΆαααα»αα αα»αααααααΆαααα½ααα αααα»αα αααααΆαα ααΆααααααααα α·ααααααααα» ααΆααααααΆαα»α αα·αααααααααααααΆααααΌαααααααα’ααααααααααΆααα»αααααΈ αα·αααααααααααΆααααααααΆα 50 ααΆααααΆααααΆαααΌαααα·αα ααα·ααΆαααααα·ααααα·ααΆαααααααα»αααΎαα‘αΎααααααααΎα‘αΎαααααααααααα ααααΌα ααΆααΆααααααΈααα»αααΆαααΆαααααααααΆαα ααΆαααΆαααΆααααααΆααΌααααααααΌααααααΆααα»αααΆααααααααααααααααα α§ααααααα½αααΎααααΈαααααα ααΆαααΌαααααα αααααΊ SonarQube static analyzer α αα αααα»αα’αααααααα ααΎαααΉααααααΆααα’αααΈαααα·αααααααααααααααΆαα’αα»ααααα§ααααααα·ααΆααα·αα·αααα SonarQube αααΆααααΌααα αααα»αααααΎαααΆαα’αα·αααααααααααΆαααααΆααααααΆααααααΆαααααααΎαα
ααααααα’αααΈααΆααααααΆα
αααααααΆαααααααΎααα½αααΆααααΌαα»αααΆααααααα ααΆαααΌααΆαααα α’αα·αα·αα NSD ααΆααααααααααα―αααΆαα’αα‘α·α ααααΌαα·α (EDF) ααααΎαααΆαααΆαααααΆααααΆαα·ααααααα (ααΆαα α»ααααααααααα·ααααα·ααΆααα α αΆαααααα) αααααΆαα’ααααααααα’αα‘α·α ααααΌαα·α αααΆαα’αα·αα·αα αα·α NSD αα·αα αααΎααααα ααΆααΌαα ααΆαααΆαααΆαααΆα αααΎααααααααΌαααααΎαα ααΎααααααα αα ααααααααααααααΆαααααα·ααααα·ααΆαα ααΎαααααΎααΆαααΎααΌαααααΆαααααααΎα ααΆαααααααΎαα»αααΈαααααααΈααααα·ααααα·ααΆαααααΌαααΆαααααΎαααΆααααα’ααααα·ααΆαα αα½ααααααααΌααααααΌαααΆαααααα’αα·αα·αα α αΎααααα αΆαααΎαααΌαα αααα»αα·ααααααααα½αααα’αααΈαααααααααΆαα½αααααΉααααααα·ααΈα αααααΆααααΊααΆαααααααΆααααααααααΆαα ααΆαα’αα·ααααααααΌα - ααΆαααααΎααααα - ααααα·ααααα·ααΆαααΆααααα - ααΆαααααααααααΌααα ααααααΈααα·ααααααααα’αα·αα·ααααααΆααα
α ααα»α’αααΈ SonarQube?
αααααΆαααα·αααααααααΌαααααααΆααααααΆαααααααΎααααα»αααΆαα’αα»αααααααα·ααΆαααααΆααααΆαααααααααααα»αααΆαααΌα - ααΈαα»αααΎαααΆαααααΎααΆααααα αααααααΆααααααααΎααΆααα·αα·αααααΌαααα»αααααα ααα»ααααααα·ααΆαααΆαααΆαααΎαα‘αΎααααααΌαα±ααααΆαααααααααααααα·ααααααααααΎαααΆααααα ααΎαααΈααα αααα»αααΆαααΆααααα½ααααα αΌααααααααΌααα»ααααα·αααααα·αααΆααααα·ααααα ααααα·ααααΆαααΉααααααααααααα·ααααΆαα’αα·αααααααααααααα»α α αΎαααΆααααααααααΎαα»αααΆααααα αααΎαα ααΎααααΈααααααααααα»αααΆαααααΌα ααΆααααΌαααΆααααααααα α α·αααα’αα»ααααα§ααααααα·ααΆααα·αα·ααααα αααααΆα SonarQube ααααΌαααΆαααααΎαα½α α αΎααα αααα»ααααααααα NSD αα½αα ααα½α ααΆαα·αα αααΆααααααΌααααα»αααΆαααααΎαααΎαααα ααΈαα»ααα αααα·αααααΈααΆααααααΆαααααααααααΆαααααΎααΆααΎααααΈαα·ααΆαααΌαααααααΆααΈααααΌαα αααα»ααααααααα Alameda (ααααααααααααΈαααααΎ αα·αααααααααααΈααααΆαααααα NSD) αα αααα»α CFT (ααααααααααααααΆααααααΆαααααααΆααααααα ααΆααΆααα»αααααΆα αααα ααααΆαααΆαααα αΆαααΆα α αα·ααααααααα»α) αα αααα»ααα½αα ααα½αα ααααααααααααααα αααααΆααααΆααα·ααααα ααΎαααΆααααααα α α·αααα αΆααααααΎαααΆαα½αααΉαααααα₯ααα·ααααααααα SonarQube α ααΌα ααααααΌααααααα ααααΈααααααΎαα
ααααΎαααΆαα’αα»αααα
ααΎαβααΆα:
- ααΆααααα»αααααααααααααααααααααα·αα αααα»α TeamCity;
- ααααΎαααΆαααααΆααααα»αα‘αΎαααΌαααΆαααα MergeRequest ααΈααΆααΆαααααααα·ααααα ααΆααΆαααα αααα»α GitLab ααααΌαααΆαααααααα ααΆαααααααα (ααααΎαααΆαα’αα·ααααααααααα ααΆα GitHub Flow);
- SonarQube ααααααα ααΆααααααααααΎααααΈαα·ααΆαααΌααααααΆαααααααααα DPO ααΆαααΆααα·ααΆαα
ααααα βααααβααΎαα α’αα»ααααααΆααα·ααΆαααΌααααααααααααααααα·αα αααα»αααααΎαααΆα CI/CD αααα DPO α
ααααΌαααΆαααααααα ααΆααααααααα ααααΎαααΆαααααΆααααα½ααα·αα·αααααΌααααααααααααααααα·ααΆαα½αααΉαα§ααααααα·ααΆααα·αα·ααααααΆαα½αααΉαααΆαααααΎαα»ααααα αΌαα αΌαααααΆααΈαα½αααα ααΆααααΆααΆα ααααα
ααΆαααααα ααΌαααΆαααααα ααΆαααΌα ααΆααααααα αααΆαααΆα’αααα’αα·αααααααααα»αα‘αΎαααΆαααααΆααααααΌααα ααΆααααααααα»αααΆα ααΆααααα½ααα·αα·ααααααααααααααααααα·αααααΆααααα α»αααααΈαα αααα»αααΌαααααΌαααΆαα αΆααααααΎαα ααααα·αααΎαα·αααΆαααα α»αααααα ααΆαααααΆααααααΌαααααΌαααΆαα’αα»ααααΆαα±ααααα½ααα ααΎαα·αααΌα αααααα ααα α»αααΉαααααΌααααααααΌαα αα½α α αΎααα ααααΆααααΆαααααΌα ααΎαα’αΆα αααααα’ααααααααΆαα ααα½αααΆααααΆααααααα α»ααα αααα»αααΌαα ααααααααααΆαααΆαααααααααα’αΆα ααααααααΆαα ααΆα’αΆα ααααΌαααΆαααααααα ααΆααααααααααΆααααααααααΆααααΎαααΆααααααΆααααΆααα·α αα ααΆααααΆααααααα’αααα’αα·αααααα αααααΆααααααααααααΈαα½αα αα·ααα ααΆααααααααααα·ααΈα
ααΆαααα‘αΎα QualityGate αα αααα»α SonarQube
ααΆααα·ααΆα QualityGate ααΊααΆα’αααΈαααααΎαα’αΆααα αααα»αααααα ααα’ααΈαααΊαα·αα ααΈααααΌα ααΎαααΆαααααΎαα·ααΈααΆαααααααααα ααααααα»αααααΆαααΆα αα·αααΆααα·ααΈαααα αα·αααααΉαααααΌαααΆαααααα»αα ααααΌα ααΎαααααΎαααΆααααααααΈαααααΆαααα SonarQubeα ααΎαααΆααααααααΆααΆαα»αααΆα αα·αααΆααΆαααααΎαααΉααααα αΌαααΆααΆαα»αααΆα α αΎααααααΆααααααααααααα ααα½αααααα α»αα αα·ααΈααΆαααααααααα·αααΆααααααααΆα α αΎααα·αααααααααααααααααααααΉαααααΌααααααα α αΎααααααΆααααααΎαααΆαααααΎαααΆαααα½αα±ααααΆαααααΎαααΆα SonarQube ααΈααα ααΎαα’αΆα αααααααααααααααΎα ααα½αααα α»ααααααΆαααααΎ (QualityGate) α αΎααα·ααΆαααααΆααΆαααα’αααααΆααααα αα αα·αααααααααααα»αααααα
αααααΆαααααααα ααΎααα ααααααΎααΆααα·αα·αααααΎαααΌαααααΌαα αα½αααααααααΆααααΆ SonarQube αα·αααααααΆααΆαα½αααΆααΆααααααααααα·ααΈαα½αα ααα½α αα½αααΆαα Delphi αααααα αα αααααα ααΎααα·ααΆααααααααΌα PLSql αααααΆααααααααααααααααΎαα
ααΆααααΎαααΆαααΌα αααα
- ααΎααα·ααΆαααααΌα PL/SQL αααααΆααααααααααααααΎαα
- SonarQube ααΆαααααααα ααΆαααααααα QualityGate ααΌα ααααα ααα½αααααα α»ααα·αααΎαα‘αΎαααΆαα½αααΉαααΆαααααααααΆα α·ααααα½αα
- α ααα½αααααα α»ααα αααααΎαααααΎαααΆαααααΌαααΊ 229α ααααα·αααΎααΆαααα α»αααααααααααααα»αα’αα‘α»ααααααΆαααααααααΆα α·ααα αααααΆααααα αΌαααααΆαα·αααααΌαααΆαα’αα»ααααΆαααα
- ααΎαααΈααα ααααα·αααΎααα α»αααααΌαααΆααα ααΆααΉαα’αΆα ααααααα ααΆαααααααα QualityGate α‘αΎααα·αααΆαα
- α’αααααα’αΆα ααααααα ααα»α ααααΈαααααΆααααΆααα·ααΆα α§ααΆα ααα ααΆαααααααααααααΌαααΆαα½αααΉαααΆαααααΎαααααααΆααΎαα
αααααααΆαααααΆαααΆαα
ααα·αααααααααααααααΈααααα αΆαααΆα ααα½αααα α»ααα αααα»αααααααα»αααΆααα·αααΆαααΎαα‘αΎαααα ααΌα ααααα’αααΈαααΊαααααααα
αααΌαα»αβαααα αΌαβααααΆβα’αΆα βααααΎβααΆαβα
αα αααα»αααα·αααααααααααααΈα α’αααα’αΆα ααΎαααΎαααΆα ααα½αααααα α»ααα αααα»αααααααααααααα·αααααΆαααααΆααα ααΆα αααΎαααΆααααα’αΆα ααα½αααααΆαα ααΌα ααααα’αααΈααααααααΆαααΊα’αΆαααααα
αααΌαα»ααααα αΌαααααΆααΆαααααααα αα αα αααααα αα·αααΆαααΆαα αΆαααΆααααΎααΆαα’αΆααα‘αΌαααΆαααααΆααααααΌααααααα’ααααΎααΌααααααΆαααα α»αααααα ααα»ααααααΆααααΌαααΆαααααΎαααααΆαααααα α α·αααααααα’αααα’αα·αααααααααααα½ααα»αααααΌαα αα αααα’ααΆαα α’αααα’αΆα ααΆαααΆαααΆαααααααααΆα α·αααααααααααΈααΆααααααααα ααΆααΆααα
ααΆαααΆαα―αααΆαααααΎααα α»α
αααααΆααα’αααααααΌααα·αα·αααααΎαααα α»αααΆααα’αααααααΆαααααΎααααααααααααααααα SonarQube αα·ααΆαααΆααααααααΆαααααΉαααΉαααααααΆα α’αααΈβαααβααΆααβα αΆααβαα»αβααΆβααΆαβααα α»αβαααα ααβαα·αβαααβααΆβααΌαβααααβααΎαβααα ααΌα αααα α’αααααααΌααα·αα·αααααΎα αα·αα αααΆαααΆααΎααααα·αααΆααα α»α α¬ααΆααΎααΆαα·αα αΆαααΆα αααααααα½ααααα»αααααααααααααααΎαααα αα·ααΈαααααΎαααΆαααααααα ααα½αααα α»αα ααΌα α αα ααααααααααΉαααααααααΈ nuances ααΆαααααα
ααΎααΎαααΆαααααα’αααΈ
ααααα ααααααΎαααΊααΎααααΈαααααΆααΎααΆαα½ααααααααααααααα»αααααΈααααααΎααααα»αααΆααααααααΆααα·αα·αααααΎααααααΌααα ααΆααααααααααααα·αααα¬ααα α αΎαααααααααΆαααααα ααΆαααΆαααααΉααα»αα SonarQube α’αα»ααααΆαα±ααααΎαααααΎααΆαααΆαα½αααΆααΆαααααΎαααααΌαααΆα ααααΎααΆααα·ααΆαααααααααααααα αα·αααΆααααααΆαα»αααααα»αααΆααααααΈαααααΉαααααα’αααα’αα·ααααααα ααα»ααα ααΎαααΈαααΆαααΆαα½αααΉααααα·αααααααααΌαααααααΎααααααααΎ SonarQube α αΎααααααααΉαα’αα·ααααααααααααααααα»ααα·ααα αααα ααΎαααααΉαααΆαα αααα’ααΆαα ααΎαααΉαα’αΆα αααααααα ααααααααΆ αα·αααΆααα·αααααααΉαααααααααααααααααΎααΆααα·αα·αααααΌα αα·αααααΎα±ααααΆααΆαααααααααΎαα‘αΎααααααΆααα»αααααΆαααααααΆααα»αααα αααα ααααΆαα αααα»αααααΎαααΆαααα ααΎαααΉαααααΎαα ααα»α ααααααΆααααααα·ααΆ α¬αααα»ααα αα·α ααΎαααΉαααΏααΆαααααααααααΆ αααααΊααΆααΏααααααααΆαααα½ααααααΆααααααΆαα»ααααα’ααα αΆαααα
αα αααα»αα’ααααααα·αα·αααα‘αΎααα·αααα ααΎαααΆααα·ααΆαα’αααΈα’αααααααΆααααααΆααααααΎαααΆαα½αααΉαα§ααααααα·ααΆααα·αα·αααα SonarQube α ααααα·αααΎα’αααααΆααααα½αααΌαααααααα αααα»αααα·αααααα ααααα·αααΎα’αααα αΆααα’αΆααααααααΎαααααΆαααααα αα αααα»αααΆαααααα»αααααααΈ ααΎαααΉααααααΆαααααα’α·ααααααααααα’αααΈαααααααααα’αααΈαααααααααΆαα±ααααΆαααααΉαααααΌα αα·ααααααααΌαααΎααααΈααααΎααΆααααα½ααα·αα·αααααααααα
α’ααααα·ααααα’αααααα
ααααα: www.habr.com